我正在使用 Mac OS X 10.7.5,并且正在使用 Grunt 连接一些 js 文件并缩小它们。现在我还想缩小我的 css 文件。由于 grunt 不提供任何功能,我想为此安装一个 grunt 插件。根据说明,我必须 cd 进入我的项目根文件夹并使用 npm 安装插件。所以我做了以下事情:
cd <PROJECT_ROOT>
npm install grunt-contrib-css
该插件的说明在这里:https ://npmjs.org/package/grunt-contrib-mincss 我打开了我的 grunt.js 文件并添加了
grunt.loadNpmTasks('grunt-contrib-mincss');
但是当我尝试运行 grunt 我只是得到
Local Npm module "grunt-contrib-mincss" not found. Is it installed?
<WARN> Task "mincss" not found. Use --force to continue. </WARN>
安装没有任何问题,并且 npm ls 确实列出了该模块。
任何想法我做错了什么?非常感谢!
更新
当我像这样进入一个项目时
cd ~/Sites/path/to/project
然后安装插件
sudo npm install grunt-contrib-mincss
该模块实际安装在
~/node_modules/grunt-contrib-mincss
我可以将文件硬拷贝到我的项目根目录中(这可行),但这有点奇怪,不是吗?
更新 2 我更新了节点并再次尝试。下面是控制台输出。
me:~ Fritz$ node -v
v0.8.10
me:~ Fritz$ npm -v
1.1.62
me:~ Fritz$ mkdir ./Sites/npm-test
me:~ Fritz$ cd ./Sites/npm-test/
me:npm-test Fritz$ sudo npm install grunt-contrib-mincss
Password:
npm http GET https://registry.npmjs.org/grunt-contrib-mincss
npm http 304 https://registry.npmjs.org/grunt-contrib-mincss
npm http GET https://registry.npmjs.org/gzip-js
npm http GET https://registry.npmjs.org/clean-css
npm http GET https://registry.npmjs.org/grunt-contrib-lib
npm http 304 https://registry.npmjs.org/gzip-js
npm http 304 https://registry.npmjs.org/clean-css
npm http 304 https://registry.npmjs.org/grunt-contrib-lib
npm http GET https://registry.npmjs.org/crc32
npm http GET https://registry.npmjs.org/deflate-js
npm http GET https://registry.npmjs.org/optimist
npm http 304 https://registry.npmjs.org/deflate-js
npm http 304 https://registry.npmjs.org/crc32
npm http 304 https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/wordwrap
npm http 304 https://registry.npmjs.org/wordwrap
grunt-contrib-mincss@0.3.0 ../../node_modules/grunt-contrib-mincss
├── grunt-contrib-lib@0.3.0
├── gzip-js@0.3.1 (crc32@0.2.2, deflate-js@0.2.2)
└── clean-css@0.4.2 (optimist@0.3.4)
为什么插件安装在外面?或者有没有办法定义它的实际安装位置?