Как установить 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
.
буду рад, если это может помочь кому-то еще.