2014-10-30 11 views
11

Sto cercando di rendere npm funzionante su openshift. Quando provo ad installare un pacchetto utilizzando npm install:Impossibile installare utilizzando npm perché autorizzazioni in openshift

$npm install bower 
npm ERR! Error: EACCES, mkdir '/var/lib/openshift/5425aaa04******0094/.npm' 
npm ERR! { [Error: EACCES, mkdir '/var/lib/openshift/5425aaa04******0094/.npm'] 
npm ERR! errno: 3, 
npm ERR! code: 'EACCES', 
npm ERR! path: '/var/lib/openshift/5425aaa04******0094/.npm' } 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 

npm ERR! System Linux 2.6.32-431.29.2.el6.x86_64 
npm ERR! command "node" "/usr/bin/npm" "install" "bower" 
npm ERR! cwd /var/lib/openshift/5425aaa04******0094/app-root/runtime/dependencies 
npm ERR! node -v v0.6.20 
npm ERR! npm -v 1.1.37 
npm ERR! path /var/lib/openshift/5425aaa04******0094/.npm 
npm ERR! code EACCES 
npm ERR! message EACCES, mkdir '/var/lib/openshift/5425aaa04******0094/.npm' 
npm ERR! errno 3 
npm ERR! 3 errno 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /var/lib/openshift/5425aaa04******0094/app-root/runtime/dependencies/npm-debug.log 
npm ERR! not ok code undefined 
npm ERR! not ok code 3 

Questo è perché non ho i permessi per scrivere nella mia home directory (/var/lib/openshift/5425aaa04******0094/)

Questo è come NPM config si presenta come:

$npm config list 
; cli configs 

; node install prefix = undefined 
; node bin location = /usr/bin/node 
; cwd = /var/lib/openshift/5425aaa04******0094/app-root/runtime/dependencies 
; HOME = /var/lib/openshift/5425aaa04******0094/ 
; 'npm config ls -l' to show all defaults. 

così ho cercato di impostare l'impostazione del prefisso:

$npm config set prefix /var/lib/openshift/5425aaa04******0094/app-root/runtime/dependencies/ 
npm ERR! Error: EACCES, open '/var/lib/openshift/5425aaa04******0094/.npmrc' 
npm ERR! { [Error: EACCES, open '/var/lib/openshift/5425aaa04******0094/.npmrc'] 
npm ERR! errno: 3, 
npm ERR! code: 'EACCES', 
npm ERR! path: '/var/lib/openshift/5425aaa04******0094/.npmrc' } 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 

npm ERR! System Linux 2.6.32-431.29.2.el6.x86_64 
npm ERR! command "node" "/usr/bin/npm" "config" "set" "prefix" "/var/lib/openshift/5425aaa04******0094/app-root/runtime/dependencies/" 
npm ERR! cwd /var/lib/openshift/5425aaa04******0094/app-root/runtime/dependencies 
npm ERR! node -v v0.6.20 
npm ERR! npm -v 1.1.37 
npm ERR! path /var/lib/openshift/5425aaa04******0094/.npmrc 
npm ERR! code EACCES 
npm ERR! message EACCES, open '/var/lib/openshift/5425aaa04******0094/.npmrc' 
npm ERR! errno 3 
npm ERR! 3 errno 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /var/lib/openshift/5425aaa04******0094/app-root/runtime/dependencies/npm-debug.log 
npm ERR! not ok code undefined 
npm ERR! not ok code 3 

Siccome non ho i permessi di scrittura nella mia directory home e npm sta provando a modificare il file ~/.npmrc, non posso modificare le impostazioni.

Qualche idea su come posso risolvere questo problema? Tutto quello che voglio fare è poter installare Bower.

Grazie!

EDIT: non ho i permessi sudo in OpenShift

+0

esattamente Ho lo stesso problema, sto valutando l'intera piattaforma e configurazione io Jenkins account gratuito. e sì, allora l'installazione di pacchetti locali di npm è impossibile !!! un altro problema è che la versione del mio nodo è 0.6.x che è MOLTO vecchio! e non posso aggiornarlo (o non ho trovato la soluzione come farlo). – kamiseq

+0

Non hai i permessi di scrittura nella tua home directory ?? –

+0

Qualche risposta no? –

risposta

11

provare questo:

OLDHOME=$HOME 
HOME=`pwd` 
npm install package 
HOME=$OLDHOME 

Questo piccolo trucco funziona per me.

+0

Dove lo metti? – leontalbot

2

questo ha funzionato per me

cd nodejs/ 

npm install package 
+0

Questo ha funzionato davvero! È stupido da parte mia non averlo pensato comunque. – Zaxter

Problemi correlati