自定义节点模块来安装依赖关系
目前我有一个自定义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