Я пытаюсь развернуть приложение на моем сервере с pm2.Когда я пытаюсь развернуть его, у меня возникают некоторые проблемы с разрешениями.
Например, я не могу установить что-то с npm
globaly, я не могу запустить apt-get install
, и он даже не может запустить "path"
, который должен создать «рабочий каталог» проекта ...
Вот мой конфиг с пустой информацией:
{
"apps": [
{
"name": "app",
"script": "scripts/start.js"
}
],
"deploy": {
"production": {
"user": "namedUser",
"host": ["**.**.**.**"],
"ref": "origin/master",
"repo": "git@github.com:***",
"path": "/var/www/production",
"pre-setup": "sudo apt-get install git nodejs npm; npm i -g yarn; yarn",
"post-setup": "ls -la",
"post-deploy": "yarn start"
}
}
}
Но pm2 не может выполнить ни одного из них.
Когда я пытаюсь установить что-то в "pre-setup"
, я получаю эту ошибку от npm (событие с sudo):
checkPermissions Missing write access to /usr/local/lib/node_modules
npm ERR! Linux 4.15.0-22-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "i" "-g" "yarn"
npm ERR! node v8.10.0
npm ERR! npm v3.5.2
npm ERR! path /usr/local/lib/node_modules/yarn
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules/yarn'
npm ERR! { Error: EACCES: permission denied, access '/usr/local/lib/node_modules/yarn'
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/local/lib/node_modules/yarn' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Please include the following file with any support request:
И когда я удаляю все, что хочу установить, кроме "path"
я понял:
mkdir: cannot create directory '/var/www': Permission denied