我正在使用 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)
为什么插件安装在外面?或者有没有办法定义它的实际安装位置?
最佳答案
我在 Ubuntu 12.04 上遇到了模块 grunt-jasmine-task
的类似问题(与上面相同的错误消息)。这为我解决了这个问题:
- 在项目的根目录中手动创建文件夹
node_modules
。 - 再次运行
npm install grunt-jasmine-task
。
关于javascript - Grunt 插件未安装在当前位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12585026/