2010-09-15 28 views
11

Impostare npm su come utente root è diretto e workds. Tranne che devi eseguire i comandi npm come root (non consigliato). Quindi ho pensato di provare a configurarlo come utente non root.Come si imposta npm (gestore pacchetti nodo) senza accesso root?

Secondo la documentazione NPM, un utente non-root senza accesso root può impostare NPM da:

  1. creazione di un file .npmrc con root, binroot, e manroot indicando le cartelle che l'utente possiede.
  2. Quindi eseguire lo script di installazione.

OK. L'installazione andava bene.

Ma il nodo non può vedere i pacchetti forniti da npm.

Quindi, come si rende noto il nodo dei pacchetti forniti da npm? (Non ho dovuto fare nulla quando ho precedentemente installato npm come root). Posso impostare require.paths all'interno del nodo o impostare la variabile di ambiente NODE_PATH, ma a cosa?

Grazie.

+0

Non viene fornito il nodo ora? Non ho mai dovuto eseguire npm commans come root a meno che non stia usando -g ... – tjameson

risposta

5

Attraverso un po 'di esplorazione, sembra è possibile:

  1. impostare il proprio NODE_PATH a qualsiasi directory principale di NPM è, o
  2. mentre nel nodo, invocano require.paths.push('path_to_npm_root')
+0

E se stai provando a eseguire il debugging dal repl, consulta http://github.com/ry/node/issues/ chiuso # edizione/303 – keturn

4

Questo ha funzionato per me:

  1. Fare un ~/.node cartella

    mkdir ~/.node 
    
  2. Modifica ~/.npmrc e aggiungere la riga

    prefix = ~/.node 
    
  3. Mostra le ~/.profile o ~/.bash_profile e aggiungere queste righe

    PATH="$HOME/.node/bin:$PATH" 
    NODE_PATH="$HOME/.node/lib/node_modules:$NODE_PATH" 
    

Ora posso fare le cose come npm -g install http-server e entrerà alto a ~/.node senza radice. Con questo in atto, quando quindi digitare http-server, viene eseguito.

Problemi correlati