sh: 1: cross-env: laravel mix 的权限被拒绝

新手上路,请多包涵

我正在尝试运行 npm run dev 但出现以下错误:

 sh: 1: cross-env: Permission denied
npm ERR! code ELIFECYCLE
npm ERR! errno 126
npm ERR! @ development: `cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js`
npm ERR! Exit status 126
npm ERR!
npm ERR! Failed at the @ development script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/shanmaseen/.npm/_logs/2019-02-22T16_32_08_191Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 126
npm ERR! @ dev: `npm run development`
npm ERR! Exit status 126
npm ERR!
npm ERR! Failed at the @ dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/shanmaseen/.npm/_logs/2019-02-22T16_32_08_241Z-debug.log

我已经在互联网上搜索了一个星期,根本没有任何帮助!

我什至试图从 package.json 脚本中删除 ‘cross-env’,但是 webpack: permission denied 发生了,这表明权限错误不是由 cross-env 它自己引起的。

这是错误日志:

 0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'run', 'dev' ]
2 info using npm@6.7.0
3 info using node@v11.10.0
4 verbose run-script [ 'predev', 'dev', 'postdev' ]
5 info lifecycle @~predev: @
6 info lifecycle @~dev: @
7 verbose lifecycle @~dev: unsafe-perm in lifecycle true
8 verbose lifecycle @~dev: PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/media/e/www/mwar/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
9 verbose lifecycle @~dev: CWD: /media/e/www/mwar
10 silly lifecycle @~dev: Args: [ '-c', 'npm run development' ]
11 silly lifecycle @~dev: Returned: code: 126  signal: null
12 info lifecycle @~dev: Failed to exec dev script
13 verbose stack Error: @ dev: `npm run development`
13 verbose stack Exit status 126
13 verbose stack     at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:301:16)
13 verbose stack     at EventEmitter.emit (events.js:197:13)
13 verbose stack     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:197:13)
13 verbose stack     at maybeClose (internal/child_process.js:984:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:265:5)
14 verbose pkgid @
15 verbose cwd /media/e/www/mwar
16 verbose Linux 4.18.0-15-generic
17 verbose argv "/usr/bin/node" "/usr/bin/npm" "run" "dev"
18 verbose node v11.10.0
19 verbose npm  v6.7.0
20 error code ELIFECYCLE
21 error errno 126
22 error @ dev: `npm run development`
22 error Exit status 126
23 error Failed at the @ dev script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 126, true ]

我正在使用 laravel 5.7mix。

节点版本:v11.10.0 npm 版本:6.7.0

请问有什么帮助吗?

原文由 shamaseen 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.8k
2 个回答

好的,我找出问题所在,保存项目的存储是自动挂载的,它没有执行权限。

我很容易在 /etc/fstab 文件中添加了 exec 在挂载选项中,如下所示:

 auto,user,exec,utf8,uid=1000,gid=1000,rw 0 0

原文由 shamaseen 发布,翻译遵循 CC BY-SA 4.0 许可协议

我在 ubuntu 18 上。

以下命令帮助了我:-)

 npm rebuild

文档如下,在官网。

此命令在匹配的文件夹上运行 npm build 命令。这在您安装新版本的节点时很有用,并且必须使用新的二进制文件重新编译所有 C++ 插件。在使用 --ignore-scripts--no-bin-links 安装时,它也很有用,可以明确选择要构建和/或链接 bin 的包。

如果提供了一个或多个包名称(以及可选的版本范围),则只会重建名称和版本与其中一个说明符匹配的包。

原文由 zarpio 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题