Я работаю с Mac OS X 10.7.5 и использую Grunt для объединения некоторых файлов js и их минимизации. Теперь я хочу также минимизировать файлы css. Поскольку grunt не предоставляет никаких функций, я хотел установить для этого плагин grunt. Согласно инструкциям, я должен перейти в корневую папку моего проекта и установить плагин с помощью npm. Поэтому я сделал следующее:
cd <PROJECT_ROOT>
npm install grunt-contrib-css
Инструкции для подключаемого модуля находятся здесь: https://npmjs.org/package/grunt-contrib-mincss Я открыл файл grunt.js и добавил
grunt.loadNpmTasks('grunt-contrib-mincss');
Но когда я пытаюсь запустить хрюканье, я просто получаю
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
[email protected] ../../node_modules/grunt-contrib-mincss
├── [email protected]
├── [email protected] ([email protected], [email protected])
└── [email protected] ([email protected])
Почему плагин установлен снаружи? Или есть способ определить фактическое место, где он установлен?
npm config edit
в консоли и посмотрите значение флагаglobal
— оно должно быть установлено в false. Если он установлен в true, то проблема, вероятно, в нем. - person Alexey Ivanov   schedule 27.09.2012global
из консоли с помощью командыnpm get global
. - person Alexey Ivanov   schedule 27.09.2012