Автор оригинала: John Kennedy.
Когда Node.js V8 был выпущен, он пришел с последней версией NPM в то время.
Как тот, кто любит иметь последние функции, я обновил мою версию узла к текущей версии, которая в свою очередь обновляется NPM. После использования NPM V5 на одном из моих личных проектов я заметил Package-lock.json
файл, который был вновь представлен.
Сначала у меня не было проблем с файлом, пока не работал с командой на проекте. Мы быстро поняли, что это вызывает ненужные проблемы после того, как мы совершили файл для контроля версий.
Это был расстраивающий момент – нам пришлось удалить файл и добавить его в .gitignore
Отказ Я хочу занять некоторое время, чтобы показать, как остановить NPM от создания Package-lock.json
файл.
Что такое Package-lock.json?
Цитируя из NPM : Package-lock.json автоматически генерируется для любых операций, где NPM модифицирует либо Node_Modules Дерево или Package.json Отказ Он описывает точное дерево, которое было сгенерировано таким, что последующие установки могут генерировать одинаковые деревья, независимо от промежуточных обновлений зависимости.
Этот файл предназначен для приверженности в исходных репозиториях.
Если вам не нравится иметь Package-lock.json
Файл вокруг, затем продолжите читать. В противном случае вы можете перестать читать сейчас.
Отключить Package-Lock.json Локально
Вы можете сказать NPM не создавать Package-lock.json
Файл для вашего текущего проекта. Для этого вам нужно создать .npmrc
Файл в корне проекта и добавьте строку Package-lock = false
к этому.
Пользователи Windows могут использовать:
echo package-lock=false>.npmrc echo package-lock.json>.gitignore
Unix/Linux пользователи могут использовать:
echo 'package-lock=false' >> .npmrc echo 'package-lock.json' >> .gitignore
Отключить Package-lock.json глобально
Вы также можете решить полностью отключить Package-lock.json
Таким образом, тем самым предотвращая его созданное. Для этого вам понадобится настроить его по всему миру, набрав следующие в своем терминале:
npm config set package-lock false
Я склонен предпочитаю отключить его по всему миру, так как я не помню, как это делать для всех моих проектов. Вы выбираете метод, который работает для вас и придерживается его.
На другом примечании: я люблю иметь этот файл в моих проектах по одной конкретной причине, что это различия в версиях, и я объясню это немного. Представьте себе ситуацию, когда конкретная версия пакета была вытащена из NPM и не удается при попытке установки же. Этот недостаточный пакет не является прямой зависимостью вашего проекта, в противном случае вы могли бы просто обновить его. Это зависимость другого пакета, который использует ваш проект. Как вы найдете этот пакет? Краткий ответ: Package-lock.json
Отказ
Это приводит нас к концу этой статьи, я надеюсь, что вам понравилось и узнал что-то новое. Пожалуйста, как статья, если это помогло вам или если вы узнали что-то новое. Наконец, я надеюсь, что вы не просто заключаете, чтобы исключить этот «Важный» Файл без взвешивания в его использовании.
Я на Твиттер !