2015-06-01 20 views
9

Sto provando a configurare yo per utilizzare il generatore angolare per un progetto. Sto seguendo i passaggi rilevati qui: http://yeoman.io/learning/index.htmlAutorizzazione negata durante l'installazione Yo

Ho già Node.js e NPM installati.

Ma quando uso il comando:

sudo npm install -g yo bower grunt-cli 

Non riesce e ottengo questo errore:

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

ho provato ad usare chmod 777 on /usr/lib/node_modules ma non sembra funzionare meglio.

posso installare Bower e Grunt, ha funzionato, ma quando provo ad installare Yo, viene a mancare ogni volta ...

Non ho idea di che cosa fare, come tutto quello che ho provato ad utilizzare chmod o chown no lavoro.

Grazie per il vostro aiuto ragazzi! :)

risposta

15

ho lavorato tutto il problema utilizzando:

sudo npm install -g yo --unsafe-perm

L'utilizzo di --unsafe-perm suggerito da nyakto in questo bug report.

Modifica: ho capito che questo è l'URL pubblicato da @Stephan nella sua risposta.

Non conosco le specifiche su --unsafe-perm - Posso solo dire che mi ha permesso di installare yo senza errori che ho sperimentato che erano molto simili/identici a OP.

+0

Grazie mille! Ha funzionato perfettamente :) –

+0

Da quello che ho capito usando sudo qui non è una buona idea, vedi [questa risposta] (http://stackoverflow.com/a/24404451/967168) per una soluzione migliore –

0

Ho avuto lo stesso problema. Apparentemente un'isola comune con Yeoman. risolvere il problema con il seguente problema provare a eliminare tutti i file nella directory /Users/yourusername/.config/configstore/ e quindi eseguire il comando yo come al solito.

+0

Grazie per la risposta, ma non riesco a trovare questa strada. Sono su Linux, non è un percorso di Windows che mi stai dando? –

+0

oh sì, questo è un percorso di Windows. se stai usando linux env. cerca il nome di una cartella **. config ** nella tua home directory. è nascosto quindi premi ctrl + H per mostrare le cartelle. dovresti trovare una cartella chiamata ** configstore ** all'interno di essa. pulire la cartella e provare a eseguire 'yo' di nuovo – Malik

+0

L'ho provato, ma ottengo lo stesso errore.All'interno della cartella ** configstore **, c'erano 3 file ma tutti relativi a Bower che ho installato con successo. Quindi immagino che l'eliminazione di quei file non abbia fatto nulla sull'installazione di Yo. –

8

Il commento nel repository github ha risolto il problema. Fondamentalmente solo bisogno di aggiornare la versione del nodo. Listing i passi per riferimento futuro:

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

Acclamazioni

+1

Tu sei l'uomo! –

Problemi correlati