14

我宁愿输入一个简短的命令,例如npm install -g,设置项目的全局依赖项,例如 node-sass 和 jshint,而不是手动输入npm install -g every single package。有没有一种 npm 惯用的方法来做到这一点?

4

2 回答 2

3

你在这里用npm install -g <pkg>错了。-g表明它不是项目依赖项,而是您的全局(PC 范围)。

这些插件不是 devDependencies,而是 CLI 运行器。您想要的是npm install --save-dev every single package在初始化时。当您需要再次安装这些依赖项时,您只需运行并在脚本中npm install包含类似的内容,以便不依赖 CLI。./node_modules/.bin/jshintpackage.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 回答