sha*_*een 34 node.js npm laravel
我正在尝试运行,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
Run Code Online (Sandbox Code Playgroud)
我已经在互联网上搜索了一个星期,没有任何帮助!
我什至试图从 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 ]
Run Code Online (Sandbox Code Playgroud)
我正在使用 Laravel 5.7mix。
节点版本:v11.10.0 npm 版本:6.7.0
有什么帮助吗?
zar*_*pio 101
我在 ubuntu 18 上。
以下命令帮助了我:-)
npm rebuild
Run Code Online (Sandbox Code Playgroud)
记录如下,在官方网站上。
此命令npm build在匹配的文件夹上运行该命令。这在您安装新版本的 node 时很有用,并且必须使用新的二进制文件重新编译所有 C++ 插件。使用--ignore-scripts和安装时也很有用--no-bin-links,可以明确选择要构建和/或链接 bin 的包。
如果提供了一个或多个包名称(以及可选的版本范围),则只会重建名称和版本与其中一个说明符匹配的包。
Tin*_*she 22
这是因为全局安装包的权限问题,npm 被拒绝访问。
要解决这个尝试
1.
npm rebuild
npm run watch
Run Code Online (Sandbox Code Playgroud)
或 2
rm -Rf node_modules
npm install
npm run watch
Run Code Online (Sandbox Code Playgroud)
希望它有效。
Emi*_*ter 22
如果文件和/或目录权限更改为更严格的权限,则 Ubuntu Linux 上可能会发生如下权限错误:
$ npm run watch
> watch
> mix watch
sh: 1: mix: Permission denied
Run Code Online (Sandbox Code Playgroud)
要在 Ubuntu Linux 上解决这个问题,这对我有用:
chmod -R u+x node_modules
Run Code Online (Sandbox Code Playgroud)
它+为您提供对目录及其内部所有内容的递归用户u执行x权限。-Rnode_modules
请小心,考虑安全性,不要使用,a或o标志g来代替u标志,这将赋予all,others或group执行权。g如果您信任组中的所有用户,该标志可能没问题。
正如 ruuter 在评论中所述,如果您找到需要执行权限的确切文件并仅为这些文件授予执行权限,那么对于安全性来说会更好。
小智 13
正如 @savedbeau 所建议的,运行以下命令可以修复此问题:
npm rebuild
Run Code Online (Sandbox Code Playgroud)
其次是
npm run watch
Run Code Online (Sandbox Code Playgroud)
小智 6
尝试这个。
$ rm -rf node_modules
$ npm cache clear --force
$ npm install npm@latest -g
$ chown -R $USER ~/.npm
$ npm install
Run Code Online (Sandbox Code Playgroud)
好吧,我找出问题所在了,保存项目的存储是自动挂载的,并且没有执行权限。
轻松地在 /etc/fstab 文件中我添加了exec挂载选项,如下所示:
auto,user,exec,utf8,uid=1000,gid=1000,rw 0 0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17446 次 |
| 最近记录: |