【问题标题】:What's an npm command to install devDependencies globally?什么是全局安装 devDependencies 的 npm 命令?
【发布时间】:2013-08-08 01:41:15
【问题描述】:

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

【问题讨论】:

  • 真的没有。 dependencies 和 akin 用于您打算 require() 的软件包。您打算从终端/shell/等执行的全局包。不在单个项目的范围内。但是,您可以在本地安装它们并仍然执行它们:$ ./node_modules/node-sass ...
  • 对不起。最后一位应该是$ ./node_modules/.bin/node-sass ...
  • @rha 的指针还是不错的。也就是说,我想可以编写一个简单的脚本,使用jq (?) 提取devDependencies 并循环npm i -g 调用。

标签: node.js installation package global


【解决方案1】:

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

那些插件不是 devDependencies,而是 CLI 运行器。你想要的是npm install --save-dev every single package 初始化。当您需要再次安装这些依赖项时,您只需运行 npm install 并将 ./node_modules/.bin/jshint 之类的内容添加到您的 package.json 脚本中,以便不依赖 CLI。

【讨论】:

    【解决方案2】:

    我知道你不应该这样做,但如果你仍然想要它,请更改你的全球位置以确保你有权限。安装 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。

    【讨论】:

      猜你喜欢
      • 2023-04-03
      • 2020-04-16
      • 2015-07-09
      • 1970-01-01
      • 2019-11-17
      • 1970-01-01
      • 1970-01-01
      • 2016-04-14
      • 1970-01-01
      相关资源
      最近更新 更多