#npm #npm-install
Вопрос:
Когда я пытаюсь запустить npm install
, я получаю ошибку:
Could not install from "node_modules/eth-sig-util/ethereumjs-abi@git https:/github.com/ethereumjs/ethereumjs-abi.git" as it does not contain a package.json file.
Поэтому я пошел проверить разницу package-lock.json
и заметил , что npm каким-то образом изменился
"ethereumjs-abi": "git https://github.com/ethereumjs/ethereumjs-abi.git",
в
"ethereumjs-abi": "ethereumjs-abi@git https://github.com/ethereumjs/ethereumjs-abi.git",
что нарушает npm install
, поэтому мне интересно, в чем смысл размещения имени пакета раньше @git
и почему это нарушает процесс установки.
Он работает после удаления ethereumjs-abi@
префикса, но появляется после запуска npm install
и снова прерывается…
Заранее спасибо!
Ответ №1:
@git используется для установки пакета из репозитория git.
например: вы отправляете пакет git-репо в свою учетную запись Git и меняете какую-то часть пакета, теперь вы хотите установить этот измененный пакет в проекте, который вы можете использовать @git ‘URL-адрес git-репо вашего измененного репо’.
здесь ethereumjs-abi
пакет устанавливается из репозитория https://github.com/ethereumjs/ethereumjs-abi.git"
git:
"ethereumjs-abi": "git https://github.com/ethereumjs/ethereumjs-abi.git",
Комментарии:
1. Спасибо! но знаете ли вы, почему npm добавляет ethereumjs-abi перед @git?
2. Я ничего об этом не знаю.
3. спасибо за решение