Я предоставил по умолчанию чистый node.js-приложение через Elastic Beanstalk и попробовал node.js script пытаться запустить npm install
внутри каталога проекта (/var/app/current/deploy-dist
), однако, выдается следующая ошибка разрешения:
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
с помощью sudo, очевидно, работает, но предпочтительнее избегать в качестве решения.
Настройка NPM_CONFIG_PREFIX
в каталог с ~
в соответствии с npm
предложение docs также не работало, и проблема сохраняется.
Я подозреваю, что проблема заключается в неправильных разрешениях для /tmp/.npm
, которые
drwxr-xr-x 114 root root 4.0K Dec 27 17:04 .npm
Это сбивает с толку, поскольку я ожидал, что простой npm install
будет работать из коробки.
UPDATE:. Не следует, чтобы каталог проекта уже содержал папку node_modules
, но даже удаление и запуск npm install
не исправляли.