Pm2部署权限被拒绝

时间:2019-06-03 11:00:26

标签: node.js pm2

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

例如,我无法使用npm全局安装某些东西,我无法运行apt-get install,甚至无法运行"path",它应创建以下内容的“ 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

1 个答案:

答案 0 :(得分:1)

您需要将用户添加到sudo组,以使其能够使用“ sudo”。

# usermod -aG sudo username

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

# chown username /var/www/

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