我尝试运行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:发生权限被拒绝的情况,表明权限错误不是由跨环境本身引起的。
这是错误日志:
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 ]
我用的是拉瑞威5.7mix。
节点版本:v11.10.0 npm版本:6.7.0
有什么需要帮忙的吗?
7条答案
按热度按时间wko9yo5t1#
我用的是ubuntu 18.
以下命令帮助了我:-)
在官方网站上记录如下。
此命令在匹配的文件夹上运行
npm build
命令。当您安装新版本的node并且必须使用新的二进制文件重新编译所有C++插件时,此命令非常有用。当使用--ignore-scripts
和--no-bin-links
安装时,显式选择要构建的包和/或链接二进制文件也非常有用。如果提供了一个或多个包名(以及可选的版本范围),那么只有名称和版本与其中一个说明符匹配的包才会被重建。
cbwuti442#
这是因为包的全局安装存在权限问题,npm被拒绝访问。
要解决此问题,请尝试
1.
或2
希望能成功。
cwxwcias3#
下面的事情对我很有效
source
tv6aics14#
如果文件和/或目录权限被更改为更严格的权限,Ubuntu Linux上可能会发生如下权限错误:
在Ubuntu Linux上解决这个问题,这个方法对我很有效:
它为
+
用户u
提供-R
递归node_modules
目录及其内部所有内容的x
执行权限。请注意,考虑安全性,不要使用
a
、o
或g
标志来代替u
标志,u
标志将给予all
、others
或group
执行权限。如果您信任组中的所有用户,g
标志可能是可以的。正如ruuter在评论中所说的,如果你能找到需要执行权限的文件,并且只对这些文件授予执行权限,那么安全性会更好。
niwlg2el5#
正如@savedbeau建议的那样,运行以下命令可以解决此问题:
接着是
gwo2fgha6#
"试试这个"
cdmah0mi7#
好了,我找出了问题所在,项目保存的存储是自动挂载的,它没有执行权限。
很容易在/etc/fstab文件中,我在mount选项中添加了
exec
,如下所示: