如何解决pm2 表示 sudo npm start
package.json - 脚本的一部分
"main": "app.js","scripts": {
"start": "cross-env NODE_ENV=production PORT=80 pm2 start app.js -i 0","dev": "nodemon app"
},
执行
% sudo npm start
> api@0.0.0 start
> cross-env NODE_ENV=production PORT=80 pm2 start app.js -i 0
Error: EACCES: permission denied,mkdir '/root/.pm2/logs'
at Object.mkdirSync (fs.js:1009:3)
at mkdirpNativeSync (/home/registry/api-npm/node_modules/pm2/node_modules/mkdirp/lib/mkdirp-native.js:29:10)
at Function.mkdirpSync [as sync] (/home/registry/api-npm/node_modules/pm2/node_modules/mkdirp/index.js:21:7)
at module.exports.Client.initFileStructure (/home/registry/api-npm/node_modules/pm2/lib/Client.js:133:25)
at new module.exports (/home/registry/api-npm/node_modules/pm2/lib/Client.js:38:8)
at new API (/home/registry/api-npm/node_modules/pm2/lib/API.js:108:19)
at Object.<anonymous> (/home/registry/api-npm/node_modules/pm2/lib/binaries/CLI.js:22:11)
at Module._compile (internal/modules/cjs/loader.js:1068:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
at Module.load (internal/modules/cjs/loader.js:933:32)
Error: EACCES: permission denied,mkdir '/root/.pm2/pids'
at Object.mkdirSync (fs.js:1009:3)
at mkdirpNativeSync (/home/registry/api-npm/node_modules/pm2/node_modules/mkdirp/lib/mkdirp-native.js:29:10)
at Function.mkdirpSync [as sync] (/home/registry/api-npm/node_modules/pm2/node_modules/mkdirp/index.js:21:7)
at module.exports.Client.initFileStructure (/home/registry/api-npm/node_modules/pm2/lib/Client.js:141:25)
at new module.exports (/home/registry/api-npm/node_modules/pm2/lib/Client.js:38:8)
at new API (/home/registry/api-npm/node_modules/pm2/lib/API.js:108:19)
at Object.<anonymous> (/home/registry/api-npm/node_modules/pm2/lib/binaries/CLI.js:22:11)
at Module._compile (internal/modules/cjs/loader.js:1068:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
at Module.load (internal/modules/cjs/loader.js:933:32)
Error: EACCES: permission denied,open '/root/.pm2/module_conf.json'
at Object.openSync (fs.js:498:3)
at Object.writeFileSync (fs.js:1524:35)
at module.exports.Client.initFileStructure (/home/registry/api-npm/node_modules/pm2/lib/Client.js:149:10)
at new module.exports (/home/registry/api-npm/node_modules/pm2/lib/Client.js:38:8)
at new API (/home/registry/api-npm/node_modules/pm2/lib/API.js:108:19)
at Object.<anonymous> (/home/registry/api-npm/node_modules/pm2/lib/binaries/CLI.js:22:11)
at Module._compile (internal/modules/cjs/loader.js:1068:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
at Module.load (internal/modules/cjs/loader.js:933:32)
at Function.Module._load (internal/modules/cjs/loader.js:774:14)
Error: EACCES: permission denied,mkdir '/root/.pm2/modules'
at Object.mkdirSync (fs.js:1009:3)
at mkdirpNativeSync (/home/registry/api-npm/node_modules/pm2/node_modules/mkdirp/lib/mkdirp-native.js:29:10)
at Function.mkdirpSync [as sync] (/home/registry/api-npm/node_modules/pm2/node_modules/mkdirp/index.js:21:7)
at module.exports.Client.initFileStructure (/home/registry/api-npm/node_modules/pm2/lib/Client.js:157:25)
at new module.exports (/home/registry/api-npm/node_modules/pm2/lib/Client.js:38:8)
at new API (/home/registry/api-npm/node_modules/pm2/lib/API.js:108:19)
at Object.<anonymous> (/home/registry/api-npm/node_modules/pm2/lib/binaries/CLI.js:22:11)
at Module._compile (internal/modules/cjs/loader.js:1068:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
at Module.load (internal/modules/cjs/loader.js:933:32)
-------------
Omitted below
我该如何解决这个问题?
我是怎么做到的
- 首先。我重新安装节点和 npm
- 第二。执行
sudo npm i -g pm2@latest
我使用 node v14.17.0 && npm v7.14.0 和 n。
这个问题发生在 ec2 和 wsl2(他们使用 ubuntu 20.04 LTS)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。