Я предоставил по умолчанию очищенное приложение node.js через Elastic Beanstalk и скрипт node.js пытался запустить npm install
внутри каталога проекта (/var/app/current/deploy-dist
), однако, выбрасывается следующее сообщение об ошибке разрешение:Ошибка: EACCES: разрешено отклонение при запуске `npm install` на 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
просто:
{
"dependencies": {
"node-fetch": "^1.3.3"
}
}
Запуск npm install
с Судо, очевидно, работает, но предпочтительно избегать, решение.
Установка NPM_CONFIG_PREFIX
в каталог на ~
в соответствии с npm
docs suggestion также не работает, и проблема не устранена.
Я подозреваю, что проблема заключается в неправильных разрешений на /tmp/.npm
, которые
drwxr-xr-x 114 root root 4.0K Dec 27 17:04 .npm
Это сбивает с толку, как я ожидал простой npm install
работать из коробки.
UPDATE: Не следует, что директория проекта уже содержит папку node_modules
, но даже его удаления и запуска npm install
не исправить.
Кто-то, кажется, имея точно такой же вопрос на форуме AWS, а сейчас: https://forums.aws.amazon.com/thread.jspa?messageID=758699&tstart=0 – Sbbs
Как вы запустили «npm install» с sudo в этом экземпляре Elastic Beanstalk? Это не так, но я смогу проверить свое приложение с помощью этого временного решения. – 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