node.js - 构建 nodejs 失败,退出状态 126 - 权限被拒绝

标签 node.js linux

当我在 Linux 服务器中执行 npm start 时遇到问题。

显示错误,退出代码为 126,权限被拒绝。

我已经对 server.js 或者 demoTest 的整个文件夹执行了 chmod 777

如何解决这个问题?

日志如下所示。

info it worked if it ends with ok
1 verbose cli [ '/opt/node-v8.11.3-linux-x64/bin/node', '/bin/npm', 'start' ]
2 info using npm@5.6.0
3 info using node@v8.11.3
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle demoTest@1.0.0~prestart: demoTest@1.0.0
6 info lifecycle demoTest@1.0.0~start: demoTest@1.0.0
7 verbose lifecycle demoTest@1.0.0~start: unsafe-perm in lifecycle true
8 verbose lifecycle demoTest@1.0.0~start: PATH: /opt/node-v8.11.3-linux-x64/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/useradmin/demoTest/node_modules/.bin:/sbin:/bin:/usr/sbin:/usr/bin
9 verbose lifecycle demoTest@1.0.0~start: CWD: /home/useradmin/demoTest
10 silly lifecycle demoTest@1.0.0~start: Args: [ '-c', 'nodemon ./rest/server.js' ]
11 silly lifecycle demoTest@1.0.0~start: Returned: code: 126  signal: null
12 info lifecycle demoTest@1.0.0~start: Failed to exec start script
13 verbose stack Error: demoTest@1.0.0 start: `nodemon ./rest/server.js`
13 verbose stack Exit status 126
13 verbose stack     at EventEmitter.<anonymous> (/opt/node-v8.11.3-linux-x64/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:285:16)
13 verbose stack     at emitTwo (events.js:126:13)
13 verbose stack     at EventEmitter.emit (events.js:214:7)
13 verbose stack     at ChildProcess.<anonymous> (/opt/node-v8.11.3-linux-x64/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at emitTwo (events.js:126:13)
13 verbose stack     at ChildProcess.emit (events.js:214:7)
13 verbose stack     at maybeClose (internal/child_process.js:925:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
14 verbose pkgid demoTest@1.0.0
15 verbose cwd /home/useradmin/demoTest/rest
16 verbose Linux 3.10.0-862.el7.x86_64
17 verbose argv "/opt/node-v8.11.3-linux-x64/bin/node" "/bin/npm" "start"
18 verbose node v8.11.3
19 verbose npm  v5.6.0
20 error code ELIFECYCLE
21 error errno 126
22 error demoTest@1.0.0 start: `nodemon ./rest/server.js`
22 error Exit status 126
23 error Failed at the demoTest@1.0.0 start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 126, true ]

最佳答案

在运行 Nodejs 服务器和 Reactjs 客户端时,我遇到了同样的问题。这个过程对我有用,应该在受影响的目录中完成(我认为这对您来说是 demoTest):

  1. 删除node_modules
  2. 运行 npm install 以重新安装该目录的 package.json 中的依赖项

我相信当我将node_modules从主机复制到Ubuntu服务器而不是直接从服务器CLI运行安装时,这个问题就开始了。

关于node.js - 构建 nodejs 失败,退出状态 126 - 权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52416029/

相关文章:

linux - 无法连接到 docker 容器外部的 oracle :12. 1.0.2

linux - 这段汇编代码对命令行参数做了什么

javascript - Node.js 生成 html

javascript - 部分更新同时支持seo

node.js - 跟踪nodemon中的yaml文件更改

c - 是否可以在执行期间永久更改指针类型? (C语言编程)

linux - 为什么 EAGAIN 在 pthread_key_create 发生?

linux - pp (PAR) 在哪里解压添加 (-a) 文件?

javascript - Busboy不会收到上传的文件

macos - 在 OSX Lion 上安装 NPM