Как установить npm, чтобы сохранить зависимость только в пакет.в JSON?

я добавляю зависимости к package.json это будет использоваться как часть процесса подготовки виртуальной машины. Таким образом, мне на самом деле не нужно устанавливать модули локально, так как provisioner сделает это для меня внутри виртуальной машины. Так есть ли способ сделать следующее:

npm install --save <module>

так что только создает зависимость для последней версии модуля в package.json без фактической загрузки модуля или создания node_modules папка?

на --dry-run опция близка, так как она не создает node_modules папка, но она также не пишет в package.json либо.

на данный момент я вручную делаю следующее Каждый раз, когда мне нужно обновить пакеты перед повторной инициализацией виртуальной машины:

rm -rf node_modules

другие причины для этого могут включать в себя возможность легко построить package.json файл в ситуациях с низкой пропускной способностью, таких как привязка, где вы знаете, что вам понадобится модуль в конечном итоге, но не хотите экономить пропускная способность.

3 ответов


нет никакого способа сделать это с npm Это я знаю.

для этого есть два пакета npm; я никогда не использовал ни один из них, но они могут стоить попробовать:

надеюсь, что это помогает!


npm install --save packagename затем npm uninstall packagename (без флага --save) выполняет это, хотя создается пустая папка node_modules


искал решение. Не нашли, а затем сделали скрипт, который добавляет зависимости (последние версии) в package.json файл пропускает процесс установки.

https://www.npmjs.com/package/npm-add-dependencies

установка

$ npm install npm-add-dependencies -g

использование

перейти в каталог с целевой package.json и запустить

$ npm-add-dependencies <dependencies> [target]

здесь dependencies - это список зависимостей, разделенных пробелом, и target является одним из следующих:

--dev на devDependencies

--peer на peerDependencies

--bundled на bundledDependencies

--optional на optionalDependencies

, если не target аргумент передан, зависимости записываются в dependencies.

буду рад, если это может помочь кому-то еще.