我正在尝试自动为开发人员自动安装所有软件包。所以我在同一目录中有package.json和grunt文件。我想首先进行npm安装,以便安装所有依赖项,并且当开发人员在命令行上执行grunt时,事情就会准备就绪。我可以知道它为什么不起作用。另一件事是我可能知道依赖和devdependencies之间的区别。
{
"name": "TestProject",
"version": "0.1.0",
"description": "this project is for test",
"main": "index.js",
"dependencies": {
"grunt": "~0.4.2",
"grunt-contrib-uglify": "~0.2.7",
"uglify-js": "~2.4.3",
"grunt-contrib-watch":"~0.5.3",
"grunt-contrib-jshint": "~0.7.2",
"qunit": "~1.11.0"
},
"devDependencies": {
"grunt": "~0.4.2",
"qunit": "~1.11.0",
"grunt-contrib-jshint": "~0.7.2",
"grunt-contrib-nodeunit": "~0.2.0",
"grunt-contrib-uglify": "~0.2.2",
"grunt-contrib-watch": "~0.5.3",
"grunt-contrib-watch":"~0.5.3"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "BSD-2-Clause"
}
答案 0 :(得分:4)
您可能缺少Grunt的命令行实用程序。
可以使用
在shell中安装npm install -g grunt-cli
CLI独立于grunt
包或grunt-
插件分发。您应该在相同的开发环境设置文档中包含全局安装grunt-cli
的说明,您可以在其中指明如何设置node
,npm
,bower
等。
如果您非常坚持在grunt-cli
上安装npm install
,我猜一个选项可能正在使用npm scripts。
加入package.json
(注意:未经测试)
{
"postinstall": "npm i -g grunt-cli"
}
但是,我不鼓励这样做。只需手动安装即可。