#node.js #npm #npm-install
#node.js #npm #npm-install
Вопрос:
У меня есть несколько частных модулей github для разработки в рамках моего node.js проект. Мой package.json включает в себя что-то вроде:
"dependencies": {
...
"my-dev-module": "git ssh://git@github.com/my-company/my-dev-module.git#test-branch",
...
}
В течение последних нескольких лет, когда я устанавливаю свой-dev-модуль npm, он просто устанавливал эту ветку и не касался package.json.
Недавно после установки он начал перезаписывать запись с помощью:
"dependencies": {
...
"my-dev-module": "*",
...
}
Поэтому при последующих установках npm происходит сбой, потому что это не опубликованный модуль.
Это связано с обновлением npm до последней версии (7.5.4). Я понизил npm до 6.14.11, и проблема исчезла.
Я прочитал документацию по недавнему выпуску, но ничто не показалось очевидным в качестве виновника. Есть идеи?
Ответ №1:
У вас есть файл package-lock.json, поэтому используйте
npm ci
команда вместо
npm i
для установки пакетов.
Это гарантирует, что все установленные пакеты находятся в соответствии с файлом package-lock.json и не будут редактировать версию пакетов для файла package.json. Кроме того, это будет более быстрый запрос с использованием кэширования для последующих вызовов команд.