Pm2 deploy Permission Denied 一切

Pm2 deploy Permission Denied for everythings

我正在尝试使用 pm2 在我的服务器上部署一个应用程序。 当我尝试部署它时,我遇到了一些权限问题。

例如,我无法使用 npm 全局安装某些东西,我无法 运行 和 apt-get install,它甚至无法 运行 [=15] =] 应该创建项目的 'workdir'...

这是我的配置,信息为空:

{
  "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

您需要将您的用户添加到 sudo 组才能使用 "sudo"。

# usermod -aG sudo username

您需要将用户设为“/var/www”的所有者或所有者组。

# chown username /var/www/

并且您需要 fix npm permissions 才能全局安装软件包。