Вы никогда не хотите хранить зависимости, вложенные в node_modules
в свой исходный элемент управления ... он полностью разрушает всю цель управления версиями и зависимостями. Ваш файл package.json
будет указывать версии, поэтому при запуске npm install
он точно знает, какие зависимости захватывать.
В качестве альтернативы Yarn является и ростом клиентского пакета, Facebook разработал, что делает намного лучшую работу кэширования ваших пакетов локально, так таким образом, если несколько проектов повторно использовать тот же depencencies, он все равно будет удовлетворять потребность в сохраняйте их в node_modules
, но не нужно выполнять HTTP-запросы для каждого из них.
Нить не заменяет NPM как реестр пакетов, просто лучший клиент для загрузки, обслуживания и кеширования этих пакетов.
Yarn также добавляет файл yarn.lock
(аналогичный Ruby's Gemfile.lock), который позволяет вам блокировать определенные версии, используемые в вашем приложении, с учетом package.json
. This file can be stored in version control, что, вероятно, вы хотели добиться, сохранив node_modules
в управлении версиями.
Некоторые хорошо читает ...
В зависимости от вашего VCS вы должны настроить его для игнорирования папки 'node_modules' (например, для Git это'.gitignore') и сохранить файл 'package.json'. Любой, у кого есть этот 'package.json', может затем получать одинаковые зависимости на своей машине. –