npm эквивалент `pip install -r requirements.txt`

Что эквивалентно npm:

pip freeze > requirements.txt
pip install -r requirements.txt

person Ron    schedule 07.08.2012    source источник
comment
Обычно npm install — это все, что вам нужно. Требования обычно указаны в package.json, а не в requirements.txt.   -  person Pro Q    schedule 02.05.2019


Ответы (3)


Обычно зависимости в проекте узла устанавливаются через package.json: https://docs.npmjs.com/files/package.json

Вы устанавливаете каждую зависимость с помощью npm install --save my-dependency, и она будет добавлена ​​в файл package.json. Таким образом, следующий человек в проекте может установить все зависимости с помощью команды npm install в той же папке package.json.

Но в моем случае я хотел установить глобальные требования npm через текстовый файл (аналогично pip install -r requirements.txt).

Вы можете сделать это с помощью:

cat requirements.txt | xargs npm install -g

person Guilherme D Heynemann Bruzzi    schedule 11.08.2016

Возможно, вы захотите взглянуть на документацию по усадке npm. Он создает npm-shrinkwrap.json, который будет иметь приоритет над любым package.json при установке.

В основном, эквивалент:

npm shrinkwrap
npm install

Изменить:

Начиная с версии 5.0.0, npm теперь всегда создает package-lock.json в том же формате. как npm-shrinkwrap.json. С тех пор произошли и другие изменения, не в последнюю очередь в последней версии 5.6.0. См. документацию по блокировке пакетов.

person Linus Thiel    schedule 09.08.2012
comment
Также обратите внимание, что у npm есть функция, которой нет у pip, — добавление к списку dep по мере их установки. Используйте npm install --save aPackage (или npm install --save-dev aDevPackage). - person Pat; 24.11.2014

Чтобы глобально установить пакеты npm из текстового файла (например, npm-requirements.txt) в формате, аналогичном файлу требований pip:

sed 's/#.*//' npm-requirements.txt | xargs npm install -g

Это позволяет добавлять комментарии в файл требований, как и pip. (источник)

Команда, аналогичная pip freeze > requirements.txt:

ls "$(npm root -g)" > npm-requirements.txt

Однако это несовершенно, поскольку не сохраняет номера версий пакетов npm.

person Flux    schedule 03.12.2017