Udostępniłem domyślną czystą aplikację node.js przez Elastic Beanstalk i mam skrypt node.js próbujący uruchomić npm install
w katalogu projektu (/var/app/current/deploy-dist
), jednak po błędzie uprawnienie jest rzucony:Błąd: EACCES: odmowa uprawnień podczas uruchamiania `npm install` na Elastic Beanstalk
npm WARN locking Error: EACCES: permission denied, open '/tmp/.npm/_locks/staging-f212e8d64a01707f.lock'
npm WARN locking at Error (native)
npm WARN locking /tmp/.npm/_locks/staging-f212e8d64a01707f.lock failed { Error: EACCES: permission denied, open '/tmp/.npm/_locks/staging-f212e8d64a01707f.lock'
npm WARN locking at Error (native)
npm WARN locking errno: -13,
npm WARN locking code: 'EACCES',
npm WARN locking syscall: 'open',
npm WARN locking path: '/tmp/.npm/_locks/staging-f212e8d64a01707f.lock' }
npm WARN deploy-dist No description
npm WARN deploy-dist No repository field.
npm WARN deploy-dist No license field.
npm ERR! Linux 4.4.35-33.55.amzn1.x86_64
npm ERR! argv "/opt/elasticbeanstalk/node-install/node-v6.9.1-linux-x64/bin/node" "/opt/elasticbeanstalk/node-install/node-v6.9.1-linux-x64/bin/npm" "install"
npm ERR! node v6.9.1
npm ERR! npm v3.10.8
npm ERR! path /tmp/.npm/_locks/staging-f212e8d64a01707f.lock
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall open
npm ERR! Error: EACCES: permission denied, open '/tmp/.npm/_locks/staging-f212e8d64a01707f.lock'
npm ERR! at Error (native)
npm ERR! { Error: EACCES: permission denied, open '/tmp/.npm/_locks/staging-f212e8d64a01707f.lock'
npm ERR! at Error (native)
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'open',
npm ERR! path: '/tmp/.npm/_locks/staging-f212e8d64a01707f.lock' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Please include the following file with any support request:
npm ERR! /var/app/current/deploy-dist/npm-debug.log
package.json
tylko:
{
"dependencies": {
"node-fetch": "^1.3.3"
}
}
Running npm install
z sudo oczywiście działa, ale wolał zostać unikać rozwiązanie.
Ustawienie NPM_CONFIG_PREFIX
do katalogu pod ~
zgodnie z npm
docs suggestion również nie działa, a problem nadal występuje.
Podejrzewam, że problem leży w błędnych uprawnień dla /tmp/.npm
, które są
drwxr-xr-x 114 root root 4.0K Dec 27 17:04 .npm
Jest to mylące, ponieważ spodziewałem się proste npm install
do pracy po wyjęciu z pudełka.
UPDATE: nie powinien, że katalog projektu zawiera już folder node_modules
, ale nawet usunięcie go i działa npm install
nie naprawić.
Ktoś wydaje się być posiadające dokładnie ten sam problem na forum AWS teraz: https://forums.aws.amazon.com/thread.jspa?messageID=758699&tstart=0 – Sbbs
W jaki sposób uruchomiłeś "instalację npm" z sudo w tej instancji Elastic Beanstalk? To nie jest sposób, ale będę mógł przetestować moją aplikację z tym tymczasowym obejściem. – sergi
@sergi 'sudo /opt/elasticbeanstalk/node-install/node-v6.9.1-linux-x64/bin/node /opt/elasticbeanstalk/node-install/node-v6.9.1-linux-x64/bin/npm install ' – Sbbs