Не удается найти модуль "findup-sync" при попытке запустить grunt
У меня проблемы с запуском grunt-cli
после его установки. Я бегу
npm install -g grunt-cli
затем запускаем грубые ошибки с помощью
node.js:63
throw e;
^
Error: Cannot find module 'findup-sync'
at loadModule (node.js:275:15)
at require (node.js:411:14)
at Object.<anonymous> (/home/tmartin/bin/grunt:9:14)
at Module._compile (node.js:462:23)
at Module._loadScriptSync (node.js:469:10)
at Module.loadSync (node.js:338:12)
at Object.runMain (node.js:522:24)
at Array.<anonymous> (node.js:756:12)
at EventEmitter._tickCallback (node.js:55:22)
at node.js:773:9
Это то, что я установил:
[email protected]:~$ npm list -g
/home/tmartin/lib
└─┬ [email protected]
├─┬ [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ ├── [email protected]
│ │ └─┬ [email protected]
│ │ ├── [email protected]
│ │ └── [email protected]
│ └── [email protected]
└─┬ [email protected]
└── [email protected]
Ответы
Ответ 1
Мне пришлось установить и связать findup-sync и несколько других пакетов npm, чтобы убрать эти проблемы с зависимостями. Я, хотя npm должен был обрабатывать их для нас, но установка зависимостей вручную заставила проблемы уйти.
npm install findup-sync -g
npm link findup-sync
Ответ 2
У меня снова запущен переустановить grunt-cli во всем мире и в моем репо.
npm install -g grunt-cli
cd myrepo
npm install grunt-cli
Я думаю, что установка Yosemite сломала некоторые вещи в моих файлах...
Ответ 3
Это связано с тем, что npm не устанавливает права на подкаталог node_modules в /usr/lib/ node_modules/grunt-cli.
В моем случае у меня было:
drwxr-x--- 6 nobody root 4096 16 févr. 17:08 node_modules
При запуске grunt в качестве пользователя без полномочий root я имел ту же ошибку (не могу найти модуль "findup-sync" ) из-за разрешения, запрещенного для чтения этого каталога.
Решение состоит в том, чтобы зафиксировать разрешение с помощью chmod: chmod a + rx node_modules.
Но на самом деле все каталоги были задействованы. Лучший способ - todo:
find /usr/lib/node_modules/grunt-cli -type d -exec chmod a+rx {} \;
Это может быть ошибка распространения (я использую Archlinux).
Ответ 4
Это может показаться простым, но если кто-либо еще не знает, есть ли проблема с разрешениями, попробуйте запустить sudo grunt
, а затем оттуда.
Ответ 5
Это также может быть очевидным, но в моем случае я настроил свой путь npm вне моего домашнего каталога (на chromebook) и мне нужно было добавить .node_modules в мой .profile
PATH=~./node_modules:$PATH
Затем запустите:
source ~/.profile
Ответ 6
Мне удалось это исправить, переустановив Grunt с помощью следующих команд:
sudo npm remove -g grunt-cli
sudo npm install -g grunt-cli
Ответ 7
Эта проблема возникает при изменении вашей версии NodeJS
.
После изменения версии узла переустановка grunt
или npm install
решит проблему.