自定义节点模块以安装依赖项

Custom Node module to install dependencies

目前我有一个用于某些应用程序的自定义 Yeoman 生成器。此生成器需要一些依赖项和配置。

1 - 全局安装 GruntJS;

2 - 全局安装 Bower;

3 - 全局安装 Yeoman;

4 - 其他一些配置到位;

问题:是否有任何工具可以管理此依赖项工作流程?

最理想的是,我希望有一个两步过程

1 - 安装 Node.Js

2 - npm 安装我的发电机

第二步负责全局安装所有包。

我在 package.json 中看到了一些使用预安装脚本的示例,如下所示:

...
scripts: {
  preinstall: 'npm install bower -g; npm install grunt-cli -g'
}
...

这个解决方案对我不起作用,我也在几个地方读到这是一个反模式。

感谢任何帮助!

这是反模式,因为 npm 通常会在执行预安装脚本之前降级超级用户权限。但是为了安装全局包,你必须以 sudo 的形式执行它。问题是您需要通过赋予 npm 安装脚本超能力来使您的安装 不安全

您可以通过在您的项目根目录中创建一个包含以下内容的 .npmrc 文件来实现:

unsafe-perm = true

你 package.json 看起来像:

{
  "name": "foo",
  "version": "1.4.4",
  "scripts" :  { 
    "preinstall" : "npm install -g bower; npm install -g grunt-cli"
  }
}

那你可以运行

sudo npm install