2015-06-01 2 views
9

Я пытаюсь настроить yo на использование углового генератора для проекта. Я следую описанным здесь шагам: http://yeoman.io/learning/index.htmlРазрешение отклонено при установке Yo

У меня уже установлены Node.js и NPM.

Но когда я использую команду:

sudo npm install -g yo bower grunt-cli 

Это терпит неудачу, и я получаю эту ошибку:

> [email protected] postinstall /usr/lib/node_modules/yo/node_modules/cross-spawn/node_modules/spawn-sync 
> node postinstall 


fs.js:439 
    return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode); 
       ^
Error: EACCES, permission denied '/usr/lib/node_modules/yo/node_modules/cross-spawn/node_modules/spawn-sync/package.json' 
    at Object.fs.openSync (fs.js:439:18) 
    at Object.fs.writeFileSync (fs.js:978:15) 
    at Object.<anonymous> (/usr/lib/node_modules/yo/node_modules/cross-spawn/node_modules/spawn-sync/postinstall.js:20:6) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Function.Module.runMain (module.js:497:10) 
    at startup (node.js:119:16) 
    at node.js:935:3 
npm ERR! Linux 3.13.0-24-generic 
npm ERR! argv "node" "/usr/bin/npm" "install" "-g" "yo" 
npm ERR! node v0.10.37 
npm ERR! npm v2.11.0 
npm ERR! code ELIFECYCLE 

npm ERR! [email protected] postinstall: `node postinstall` 
npm ERR! Exit status 8 
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script 'node postinstall'. 
npm ERR! This is most likely a problem with the spawn-sync package, 
npm ERR! not with npm itself. 
npm ERR! Tell the author that this fails on your system: 
npm ERR!  node postinstall 
npm ERR! You can get their info via: 
npm ERR!  npm owner ls spawn-sync 
npm ERR! There is likely additional logging output above. 

npm ERR! Please include the following file with any support request: 
npm ERR!  /home/vincent/npm-debug.log 

Я пытался использовать chmod 777 on /usr/lib/node_modules, но это не похоже на работу лучше.

я могу установить Бауэр и Grunt, он работал, но когда я пытаюсь установить Yo, он не каждый ...

Я понятия не имею, что делать, как все, я попытался с помощью chmod или chown не Работа.

Спасибо за помощь, ребята! :)

ответ

15

Я работал вокруг вопроса с помощью:

sudo npm install -g yo --unsafe-perm

Использование --unsafe-perm предложенной nyakto в этом bug report.

Редактировать - понял, что это URL-адрес, отправленный @Stephan в его ответе.

Я не знаю особенностей о -unsafe-perm - могу только утверждать, что это позволило мне установить лет без ошибок, которые я испытывал, которые были очень похожи/идентичны OP.

+0

Спасибо большое! Это отлично работает :) –

+0

Из того, что я понимаю, используя sudo, здесь не очень хорошая идея, см. [Этот ответ] (http://stackoverflow.com/a/24404451/967168) для лучшего решения. –

0

У меня была та же проблема. По-видимому, это обычное явление с йоменом. при выполнении следующей задачи я решил удалить все файлы в каталоге /Users/yourusername/.config/configstore/, а затем запустить команду yo, как обычно.

+0

Спасибо за ответ, но я не могу найти этот путь. Я нахожусь в Linux, разве это не путь Windows, который вы мне даете? –

+0

о да, это путь к окну. если вы используете linux env. найдите имя папки **. config ** в своем домашнем каталоге. он скрыт, поэтому нажмите ctrl + H, чтобы отобразить папки. вы должны найти в нем папку с именем ** configstore **. очистите папку и попробуйте запустить «yo» снова – Malik

+0

Я пробовал это, но я все равно получаю ту же ошибку.Внутри папки ** configstore ** было 3 файла, но все связанные с Bower, которые я успешно установил. Поэтому я предполагаю, что удаление этих файлов ничего не делало для установки Yo. –

0

У меня тоже была проблема с linuxmint 17. Причина Я использую nodejs 0.10, и я обновляю npm до 2.X.

Попробуйте переустановить nodejs и выбрать правильную версию https://github.com/nodesource/distributions

Успехов!

8

Комментарий в реестре github исправил мою проблему. В основном просто необходимо обновить версию узла. Листинг шагов для дальнейшего использования:

sudo npm cache clean -f 
sudo npm install -g n 
sudo n stable 
node -v 

Приветствие

+1

Ты мужчина! –

Смежные вопросы