我宁愿输入一个简短的命令,例如npm install -g
,设置项目的全局依赖项,例如 node-sass 和 jshint,而不是手动输入npm install -g every single package
。有没有一种 npm 惯用的方法来做到这一点?
问问题
11395 次
2 回答
3
你在这里用npm install -g <pkg>
错了。-g
表明它不是项目依赖项,而是您的全局(PC 范围)。
这些插件不是 devDependencies,而是 CLI 运行器。您想要的是npm install --save-dev every single package
在初始化时。当您需要再次安装这些依赖项时,您只需运行并在脚本中npm install
包含类似的内容,以便不依赖 CLI。./node_modules/.bin/jshint
package.json
于 2015-09-14T15:58:12.630 回答
0
我知道您不应该这样做,但如果您仍然想要它,请更改您的全球位置以确保您拥有权限。安装 jq (要么下载它,要么apt install jq),然后:
export NPM_CONFIG_PREFIX=~/npm-global
cat ./package.json | jq '.devDependencies | keys[] as $k | "\($k)@\(.[$k])"' | xargs -t npm install --global
这将从 devDependencies 部分创建一个包和版本列表,将其通过管道传输到 xargs,并使用它们调用 npm install。
于 2021-01-20T10:47:42.907 回答