2013-05-03 14 views
6

Sto cercando di creare un pacchetto npm (plugin) per installare il piccolo framework JS attraverso il nodo, ho creato anche il pacchetto package.json richiesto.pacchetto nodejs npm | npm link issue

Dopo aver eseguito il comando di collegamento npm sul terminale Mac, è possibile vedere i seguenti errori.

npm ERR! Error: EACCES, symlink '/Repos/GIT/JavaScript-Boilerplate' 
npm ERR! { [Error: EACCES, symlink '/Repos/GIT/JavaScript-Boilerplate'] 
npm ERR! errno: 3, 
npm ERR! code: 'EACCES', 
npm ERR! path: '/Repos/GIT/JavaScript-Boilerplate' } 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 

npm ERR! System Darwin 12.3.0 
npm ERR! command "node" "/usr/local/bin/npm" "link" 
npm ERR! cwd /Repos/GIT/JavaScript-Boilerplate 
npm ERR! node -v v0.10.4 
npm ERR! npm -v 1.2.18 
npm ERR! path /Repos/GIT/JavaScript-Boilerplate 
npm ERR! code EACCES 
npm ERR! errno 3 
npm ERR! stack Error: EACCES, symlink '/Repos/GIT/JavaScript-Boilerplate' 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /Repos/GIT/JavaScript-Boilerplate/npm-debug.log 
npm ERR! not ok code 0 

P.S. Sono abbastanza nuovo per nodejs ma ho una forte esperienza in JavaScript, fammi sapere se hai bisogno di maggiori dettagli in giro.

EDIT - Devo risolto i problemi di cui sopra, ma ora ottenere più problemi, come di seguito:

6495 verbose false,/Repos/GIT/JavaScript-Boilerplate/node_modules,/Repos/GIT/JavaScript-Boilerplate/node_modules/jquery/node_modules unbuild [email protected] 
6496 info postuninstall [email protected] 
6497 verbose about to build /Repos/GIT/JavaScript-Boilerplate/node_modules/jquery 
6498 info /Repos/GIT/JavaScript-Boilerplate/node_modules/jquery unbuild 
6499 verbose from cache /Repos/GIT/JavaScript-Boilerplate/node_modules/jquery/package.json 
6500 info preuninstall [email protected] 
6501 info uninstall [email protected] 
6502 verbose true,/Repos/GIT/JavaScript-Boilerplate/node_modules,/Repos/GIT/JavaScript-Boilerplate/node_modules unbuild [email protected] 
6503 info postuninstall [email protected] 
6504 error [email protected] install: `node-gyp rebuild` 
6504 error `sh "-c" "node-gyp rebuild"` failed with 1 
6505 error Failed at the [email protected] install script. 
6505 error This is most likely a problem with the contextify package, 
6505 error not with npm itself. 
6505 error Tell the author that this fails on your system: 
6505 error  node-gyp rebuild 
6505 error You can get their info via: 
6505 error  npm owner ls contextify 
6505 error There is likely additional logging output above. 
6506 error System Darwin 12.3.0 
6507 error command "node" "/usr/local/bin/npm" "link" 
6508 error cwd /Repos/GIT/JavaScript-Boilerplate 
6509 error node -v v0.10.4 
6510 error npm -v 1.2.18 
6511 error code ELIFECYCLE 
6512 verbose exit [ 1, true ] 
    enter code here 
    enter code here 

Sembra che io sono vicino ad essa :)

+0

Ho corretto alcuni valori di package.json ora mi sta dando il seguente problema: module.js: 340 throw err; ^ Errore: impossibile trovare il modulo '/ Repos/GIT/JavaScript-Boilerplate/link' in Function.Module._resolveFilename (module.js: 338: 15) in Function.Module._load (module.js: 280: 25) in Function.Module.runMain (module.js: 497: 10) all'avvio (node.js: 119: 16) in node.js: 901: 3 –

risposta

2

hei!

Guarda queste righe!

code EACCES (error acces like acces denied) 
& 
Please try running this command again as root/Administrator. (acces denied) 

Provalo con un utente con privilegi.

o condividere questi file: /Repos/GIT/JavaScript-Boilerplate/npm-debug.log

+0

Ohh uomo, ha risolto gli errori iniziali, Semplicemente avevo bisogno di eseguire sudo chown -R $ USER/usr/local nel terminale ora ottenendo nuovi problemi ma comunque grazie per il puntatore rapido, mi mancava quello. –

1

Il modo più semplice per risolvere questo problema sarebbe quello di eseguire lo stesso comando ancora una volta utilizzando sudo:

sudo npm link 

Si prega di non cambiare il proprietario della directory /usr/local, poiché ciò potrebbe a) avere ulteriori implicazioni sull'applicazione installata eb) potrebbe compromettere la sicurezza del sistema. Utilizzare sudo è il modo giusto per risolvere questo problema.

3

autorizzazioni siano usati quando sarà necessaria l'installazione di nodo quando fare le cose come scrivere nella directory NPM (npm link, npm install -g, etc.).

Probabilmente è stata eseguita l'installazione del nodo con i permessi di root, ecco perché l'installazione del pacchetto globale richiede di essere root.


Soluzione 1: NVM

Don't hack with permissions, install node the right way.

Su una macchina di sviluppo, non si deve installare e nodo di corsa con i permessi di root, altrimenti le cose come npm link, npm install -g avranno bisogno le stesse autorizzazioni.

NVM (Node Version Manager) consente di installare il nodo senza autorizzazioni di root e consente anche di installare molte versioni di Node per giocare facilmente con loro .. Perfetto per lo sviluppo.

  1. Nodo di disinstallazione (probabilmente sarà richiesto il permesso root).
    • Per rimuovere tutti i moduli globali di NPM precedentemente installati, vedere quelli answers.
  2. Quindi installare NVM seguendo le istruzioni on this page.
  3. Installare Nodo via NVM: nvm install stable

Ora npm link, npm install -g sarà più richiedono di essere root.


Soluzione 2: installare i pacchetti a livello globale per un determinato utente

Don't hack with permissions, install npm packages globally the right way.

Se siete su OSX o Linux, è possibile creare una directory dedicata utente per il pacchetto globale e la configurazione npm e node per sapere come trovare pacchetti installati globalmente.

Verificare this great article per istruzioni dettagliate sull'installazione di moduli npm globalmente senza sudo.

Vedere anche: documentazione di npm su Fixing npm permissions.

Problemi correlati