如何npm安装只保存对package.json的依赖?

时间:2016-11-10 19:15:31

标签: node.js npm npm-install

我正在向package.json添加依赖项,这些依赖项将用作虚拟机配置过程的一部分。因此,我实际上并不需要在本地安装模块,因为供应商会在VM内为我做这件事。那么有什么方法可以做到以下几点:

npm install --save <module>

因此package.json中为模块的最新版本创建依赖关系而不实际下载模块或创建node_modules文件夹?

--dry-run选项已关闭,因为它不会创建node_modules文件夹,但也不会写入package.json

目前,每次我需要在重新配置VM之前更新软件包时,我都会手动执行以下操作:

rm -rf node_modules

其他原因可能包括能够在低带宽情况下轻松构建package.json文件,例如网络共享,您知道最终需要该模块但不想节省带宽。

4 个答案:

答案 0 :(得分:4)

我知道的def maxout(inputs, num_units, axis=None): shape = inputs.get_shape().as_list() if axis is None: # Assume that channel is the last dimension axis = -1 num_channels = shape[axis] if num_channels % num_units: raise ValueError('number of features({}) is not a multiple of num_units({})' .format(num_channels, num_units)) shape[axis] = -1 shape += [num_channels // num_units] outputs = tf.reduce_max(tf.reshape(inputs, shape), -1, keep_dims=False) return outputs 无法做到这一点。

这样做有两个npm包;我从来没有使用过它们,但它们可能值得一试:

希望这有帮助!

答案 1 :(得分:2)

有趣的是将--package-lock-only--no-package-lock组合在一起

npm install --package-lock-only --no-package-lock PACKAGE

这不会创建或更新package-lock.json文件。仅将一个条目添加到package.json

更新

这实际上是一个错误,现在已在npm 6.9.0中修复

https://github.com/npm/cli/pull/146

https://npm.community/t/release-npm-6-9-0/5911

答案 2 :(得分:1)

正在寻找解决方案。尚未找到,然后制作了一个脚本,该脚本将依赖项(最新版本)添加到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 for devDependencies

--peer for peerDependencies

--bundled for bundledDependencies

--optional for optionalDependencies

如果未传递任何target参数,则将依赖项写入dependencies

如果能帮助别人会很高兴。

答案 3 :(得分:0)

npm install --save packagename然后npm uninstall packagename(没有--save标志)完成此操作,但创建了一个空的node_modules文件夹