我正在重建我的构建系统,我已经读过带有grunt的node.js是一个很好的方法。我从来没用过,而且我遇到了一些麻烦。
问题是我想建立一个可移植的构建环境,我可以将其包含在我的项目的版本控制中(可能这是不可能的)。获取node.js和npm工作一直没有问题。但是,我看到的用于安装grunt的每条指令都说使用带有npm的-g
标志,它会全局安装它。由于我想要一个完全可移植的环境,我试图将其关闭,但我不能笨手笨脚地工作。
我错过了什么,或者是我试图做不到的事情?
答案 0 :(得分:19)
查看http://gruntjs.com/getting-started
Grunt最近被分为项目本地依赖项(grunt
)和命令行启动程序(grunt-cli
)。后者应该全球安装。
作为确保您可以随处使用构建的额外提示:确保在使用{{1}时使用package.json
和--save
参数保存--save-dev
中的所有依赖项}}。更多信息:https://npmjs.org/doc/install.html
答案 1 :(得分:12)
您可以通过调用以下方式使用本地grunt而无需全局(-g)安装grunt-cli:
node node_modules/grunt-cli/bin/grunt --version
当然首先你需要在你的项目中安装它并且有一个大于0.3的grunt版本;例如:
npm install grunt-cli
npm install grunt@0.4.5
或者将它们添加到packages.json并调用
npm install
中描述的全局安装任何软件包,这也应该有所帮助
答案 2 :(得分:1)
请参阅https://www.npmjs.com/package/grunt-cli#installing-grunt-cli-locally:
在本地安装grunt-cli
如果您更喜欢惯用的Node.js方法来开始使用项目(npm install && npm test
),那么使用npm install grunt-cli --save-dev在本地安装grunt-cli。然后在package.json中添加一个脚本以运行相关的grunt命令:"scripts": { "test": "grunt test" }
。现在,npm test将使用本地安装的./node_modules/.bin/grunt
可执行文件来运行您的Grunt命令。
要了解有关npm脚本的更多信息,请访问npm docs:
https://docs.npmjs.com/misc/scripts
答案 3 :(得分:0)
这是命令行代码,它将在项目文件夹中安装最新版本的Grunt,并将其添加到您的devDependencies:
npm install grunt --save-dev
对于gruntplugins和其他节点模块也可以这样做。如以下示例所示,安装JSHint任务模块:
npm install grunt-contrib-jshint --save-dev
在插件页面上查看要在项目中安装和使用的当前可用gruntplugins。
确保在完成后将更新的package.json文件与项目一起提交!