【问题标题】:node-sass error deploying react to elastic beanstalknode-sass 错误部署对弹性 beantalk 的反应
【发布时间】:2026-02-13 20:10:01
【问题描述】:

我正在尝试将 reactjs 应用程序部署到弹性 beanstalk 实例,但似乎遇到了几个问题。

1) 我在弹性豆茎的健康部分收到此错误:

  • /opt/elasticbeanstalk/containerfiles/ebnode.py --action npm-install

node-sass@4.9.3 install /tmp/deployment/application/node_modules/node-sass 节点脚本/install.js

无法保存二进制 /tmp/deployment/application/node_modules/node-sass/vendor/linux-x64-57 : { 错误:EACCES:权限被拒绝,mkdir '/tmp/deployment/application/node_modules/node-sass/vendor' 在 同步时的 Object.fs.mkdirSync (fs.js:885:18) (/tmp/deployment/application/node_modules/mkdirp/index.js:71:13) 在 函数同步 (/tmp/deployment/application/node_modules/mkdirp/index.js:77:24) 在 检查并下载二进制 (/tmp/deployment/application/node_modules/node-sass/scripts/install.js:114:11) 在对象。 (/tmp/deployment/application/node_modules/node-sass/scripts/install.js:157:1) 在 Module._compile (module.js:652:30) 在 Object.Module._extensions..js (module.js:663:10) 在 Module.load (module.js:565:32) 在 tryModuleLoad (module.js:505:12) 在 Function.Module._load (module.js:497:3) 错误号: -13,代码:'EACCES',系统调用:'mkdir',路径:'/tmp/deployment/application/node_modules/node-sass/vendor'}

2) 同时,似乎 node 和 npm 正在为我的 ec2 实例申请所有资源,即使部署失败,这种情况似乎仍在继续。

此失败的原因可能是什么?其他软件包似乎正在部署,因为它们位于 node_modules 文件夹中?另外,为什么节点会以这种方式占用资源?

reactjs 应用正在使用 webpack 和 node-sass ^4.9.3 以及适用于我的本地环境的节点版本 8.11.3。

更新:.npmrc 解决了权限问题。我仍然对cpu 100%有问题。在构建脚本中,代码没有超过这一行,我在代码的各个点添加了 console.log 行:

let compiler = webpack(config);

这条线被击中后,我看不到任何进步。这可能是 webpack 的问题吗?

【问题讨论】:

    标签: node.js reactjs npm amazon-elastic-beanstalk node-sass


    【解决方案1】:

    我认为这可能与here描述的问题相同

    显然 npm install 在自动部署期间花费的时间太长 在 t1.micro 实例上,碰到 t2.small 可以提供足够的力量来获得 任务完成。

    【讨论】:

    【解决方案2】:

    还有一个替代的仅 js 模块,称为 sass。似乎工作正常,但不如 none-sass 最新。

    【讨论】: