2014-10-30 14 views
11

Próbuję zrobić npm pracy na openshift. Kiedy próbuję zainstalować pakiet używając npm install:Nie można zainstalować używając npm, ponieważ uprawnienia w 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 

To dlatego, że nie mam uprawnień do zapisu w katalogu domowym (/var/lib/openshift/5425aaa04******0094/)

ten sposób npm config wygląda następująco:

$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. 

Więc starałem aby ustawić prefix:

$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 

Ponieważ nie mam uprawnień do zapisu w moim katalogu domowym, a npm próbuje edytować plik ~/.npmrc, nie mogę zmienić ustawień.

Wszelkich pomysłów, jak mogę to naprawić? Wszystko, co chcę zrobić, to móc zainstalować altanę.

Dzięki!

EDIT: Nie mam uprawnień sudo w openshift

+0

dokładnie mam ten sam problem, mam oceny całej platformy i konfiguracji I Jenkins na darmowe konto. i tak, instalowanie lokalnych pakietów npm jest niemożliwe !!! Kolejnym problemem jest to, że wersja mojego węzła jest 0.6.x, która jest BARDZO stara! i nie mogę go zaktualizować (lub nie znalazłem rozwiązania, jak to zrobić). – kamiseq

+0

Nie masz uprawnień do zapisu w swoim katalogu domowym ?? –

+0

Jakieś odpowiedzi nie? –

Odpowiedz

11

Spróbuj tego:

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

Ten mały trik działa na mnie.

+0

Gdzie to umieścisz? – leontalbot

2

ten pracował dla mnie

cd nodejs/ 

npm install package 
+0

To faktycznie zadziałało! To głupie, że nie pomyślałem o tym. – Zaxter

Powiązane problemy