2015-06-01 14 views
9

Próbuję skonfigurować yo, aby użyć generatora kątowego dla projektu. Postępuję zgodnie z opisanymi tutaj krokami: http://yeoman.io/learning/index.htmlOdmowa dostępu podczas instalacji Yo

Mam już zainstalowane Node.js i NPM.

Ale kiedy należy użyć polecenia:

sudo npm install -g yo bower grunt-cli 

zawiedzie i otrzymuję ten błąd:

> [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 

Próbowałem użyć chmod 777 on /usr/lib/node_modules ale nie wydają się działać lepiej.

mogę zainstalować Bower i Grunt, to działało, ale gdy próbuję zainstalować Yo, to nie za każdym razem ...

nie mam pojęcia, co robić, jak wszystko Próbowałem przy użyciu chmod lub chown nie praca.

Dzięki za pomoc! :)

Odpowiedz

15

pracowałem wokół kwestii za pomocą:

sudo npm install -g yo --unsafe-perm

Zastosowanie --unsafe-perm sugerowanego przez nyakto w tym bug report.

Edytuj - uświadomił sobie, że jest to adres URL opublikowany przez @Stephan w jego odpowiedzi.

Nie znam szczegółów dotyczących --unsafe-perm - Mogę tylko stwierdzić, że pozwolił mi zainstalować yo bez błędów, które doświadczyłem, że były bardzo podobne/identyczne z OP.

+0

Wielkie dzięki! To działało idealnie :) –

+0

Z tego co rozumiem za pomocą sudo tutaj nie jest dobrym pomysłem, patrz [ta odpowiedź] (http://stackoverflow.com/a/24404451/967168) dla lepszego rozwiązania –

0

Miałem ten sam problem. Wygląda na to, że jest to zwykła wersja z Yeomanem. następujące rozwiązanie rozwiązało problem, usuwając wszystkie pliki z katalogu /Users/yourusername/.config/configstore/, a następnie jak zwykle uruchom polecenie yo.

+0

Dzięki za odpowiedź, ale nie mogę znaleźć tej ścieżki. Jestem na Linuksie, czy nie jest to ścieżka Windowsa, którą mi dajesz? –

+0

o tak, to jest ścieżka okna. jeśli używasz linux env. poszukaj nazwy folderu **. config ** w twoim katalogu domowym. jest ukryty, więc naciśnij ctrl + H, aby wyświetlić foldery. powinieneś znaleźć folder o nazwie ** configstore ** wewnątrz tego. oczyść folder i spróbuj ponownie uruchomić 'yo' – Malik

+0

Próbowałem, ale nadal mam ten sam błąd.W folderze ** configstore ** znajdowały się 3 pliki, ale wszystkie związane z Bower, które pomyślnie zainstalowałem. Sądzę więc, że usunięcie tych plików nie miało nic wspólnego z instalacją Yo. –

8

Komentarz w repozytorium github naprawił mój problem. Zasadniczo wystarczy, aby zaktualizować wersję węzła. Wystawianie się kroki na przyszłość:

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

Cheers

+1

Jesteś mężczyzną! –

Powiązane problemy