自定义节点模块来安装依赖关系

目前我有一个自定义Yeoman生成器的一些应用程序。 这个生成器需要一些依赖和configuration。

1 – GruntJS全球安装;

2 – Bower将在全球安装;

3 – Yeoman将在全球安装;

4 – 其他一些configuration要到位;

:是否有任何工具来pipe理这个依赖关系的工作stream程?

最好的,我希望有一个两步的过程

1 – 安装Node.Js

2 – npm安装我的发电机

第二步将负责全面安装所有软件包。

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

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

这个解决scheme对我来说并不起作用,我也在几个地方看过这是一个反模式。

任何帮助感激!

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

您可以通过在您的项目根目录中创build一个.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