AWS:EACCES:权限被拒绝,mkdir '/home/react-app/node_modules/node-sass/vendor'

Posted

技术标签:

【中文标题】AWS:EACCES:权限被拒绝,mkdir \'/home/react-app/node_modules/node-sass/vendor\'【英文标题】:AWS: EACCES: permission denied, mkdir '/home/react-app/node_modules/node-sass/vendor'AWS:EACCES:权限被拒绝,mkdir '/home/react-app/node_modules/node-sass/vendor' 【发布时间】:2019-07-06 21:27:32 【问题描述】:

我在 aws ec2 实例上有一个 react-app。我在安装 npm 模块时遇到问题。

收到此错误:

EACCES:权限被拒绝,mkdir '/home/react-app/node_modules/node-sass/vendor'

我已经尝试过这个解决方案,但对我没有用。

Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/node-sass/build'

EACCES: permission denied, mkdir '/node_modules/node-sass/build' while running npm install on ubuntu

npm install: Error: EACCES: permission denied, mkdir

更新

sudo npm install --allow-root --unsafe-perm

我试过了,它工作了,但是当我要构建应用程序时

sudo npm run build

它将运行这个命令,

node-sass-chokidar --include-path ./src --include-path ./node_modules src/ -o src/ && react-scripts build

它卡在/挂在这条线上

创建优化的生产版本...

我该怎么办?

【问题讨论】:

【参考方案1】:

这可能是原因, 据悉,npm run build 在内存有限且没有交换空间的机器上会失败,这在云环境中很常见。即使是小型项目,此命令也会将您系统中的 RAM 使用量增加数百兆字节,因此如果您的可用内存少于 1 GB,您的构建可能会失败并显示以下消息:

构建失败,因为进程退出得太早。这大概 表示系统内存不足或有人调用kill -9 过程。

如果您完全确定您没有终止进程,请考虑在您正在构建的机器上添加一些交换空间,或在本地构建项目。

改编自https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-exits-too-early

【讨论】:

以上是关于AWS:EACCES:权限被拒绝,mkdir '/home/react-app/node_modules/node-sass/vendor'的主要内容,如果未能解决你的问题,请参考以下文章

Docker:EACCES:权限被拒绝,mkdir '/app/node_modules/.cache'

将 React 添加到工作区失败,EACCES:权限被拒绝,mkdir '/home/mint/.cache/Cypress'

EACCES:权限被拒绝 mkdir ...尝试在节点项目中使用 docker 卷时

Errno::EACCES(权限被拒绝@dir_s_mkdir

Rails 4.2.0 - Errno::EACCES(权限被拒绝@dir_s_mkdir - /files)

错误:EACCES:权限被拒绝,mkdir '/usr/local/lib/node_modules/node-sass/build'