2015-06-01 23 views
9

Ich versuche, yo einzurichten, um den Winkelgenerator für ein Projekt zu verwenden. Ich befolge die hier aufgeführten Schritte: http://yeoman.io/learning/index.htmlBerechtigung verweigert, während der Installation Yo

Ich habe bereits Node.js und NPM installiert.

Aber wenn ich den Befehl:

sudo npm install -g yo bower grunt-cli 

Es schlägt fehl, und ich bekomme diese Fehlermeldung:

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

Ich versuchte chmod 777 on /usr/lib/node_modules zu verwenden, aber es scheint nicht besser zu arbeiten.

kann ich installieren Bower und Grunt, es funktioniert, aber wenn ich versuche, Yo zu installieren, ist es nicht jedes Mal ...

Ich habe keine Ahnung, was da alles zu tun, ich versucht, mit chmod oder chown nicht tat Arbeit.

Vielen Dank für Ihre Hilfe Jungs! :)

Antwort

15

ich rund um das Thema arbeitete unter Verwendung:

sudo npm install -g yo --unsafe-perm

Verwendung von --unsafe-perm von nyakto in diesem bug report vorgeschlagen.

Bearbeiten - erkannte, dass dies die URL ist, die von @Stephan in seiner Antwort gepostet wurde.

Ich weiß nicht die Besonderheiten über --unsafe-perm - Ich kann nur sagen, dass es mir erlaubt, yo ohne Fehler zu installieren, die ich erlebt habe, die OP sehr ähnlich/identisch waren.

+0

Vielen Dank! Es funktionierte perfekt :) –

+0

Von dem, was ich verstehe mit Sudo hier ist keine gute Idee, siehe [diese Antwort] (http://Stackoverflow.com/a/24404451/967168) für eine bessere Lösung –

0

Ich hatte das gleiche Problem. Anscheinend eine gemeinsame Sache mit dem Yeoman. Wenn Sie folgendes Problem gelöst haben, versuchen Sie, alle Dateien im Verzeichnis /Users/yourusername/.config/configstore/ zu löschen, und führen Sie dann wie gewohnt den Befehl aus.

+0

Danke für die Antwort, aber ich diesen Weg nicht finden kann. Ich bin auf Linux, ist es nicht ein Windows-Pfad, den Sie mir geben? –

+0

oh ja das ist ein Windows-Pfad. wenn Sie Linux-env verwenden. Suchen Sie nach einem Ordnernamen **. config ** in Ihrem Home-Verzeichnis. Es ist ausgeblendet. Drücken Sie Strg + H, um die Ordner anzuzeigen. Sie sollten einen Ordner namens ** configstore ** darin finden. säubere den Ordner und versuche, 'yo' erneut zu rennen – Malik

+0

Ich habe das versucht, aber ich bekomme immer noch den gleichen Fehler.Innerhalb des Ordners ** configstore ** gab es 3 Dateien, aber alle bezogen sich auf Bower, die ich erfolgreich installiert habe. Ich denke also, dass das Löschen dieser Dateien nichts mit der Installation von Yo zu tun hat. –

0

Ich hatte das gleiche Problem auch unter linuxmint 17. Ursache Ich benutze nodejs 0.10, und ich upgrade npm auf 2.X.

Versuchen NodeJS und wählen Sie die richtige Version https://github.com/nodesource/distributions

Viel Glück neu zu installieren!

8

Der Kommentar in der GitHub Repo behoben mein Problem. Im Grunde nur benötigt, um die Knotenversion zu aktualisieren. Listing der Schritte für die Zukunft:

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

Beifall

+1

Sie sind der Mann! –

Verwandte Themen