我正在尝试将Reactjs应用程序部署到一个弹性beantalk实例,并且似乎遇到了几个问题。
1)我在“健康”部分中收到关于弹性beantalk的错误:
- /opt/elasticbeanstalk/containerfiles/ebnode.py --action npm-install
node-sass@4.9.3安装/ tmp / deployment / application / node_modules / node-sass 节点脚本/install.js
无法保存二进制 / tmp /部署/应用程序/ 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)在 Function.sync (/tmp/deployment/application/node_modules/mkdirp/index.js:77:24)在 checkAndDownloadBinary (/ tmp /部署/应用程序/node_modules/node-sass/scripts/install.js:114:11) 在对象。 (/ tmp /部署/应用程序/node_modules/node-sass/scripts/install.js:157:1) 在Object.Module._extensions..js的Module._compile(module.js:652:30) 在tryModuleLoad的Module.load(module.js:565:32)(module.js:663:10) (module.js:505:12)在Function.Module._load(module.js:497:3)错误: -13,代码:'EACCES',系统调用:'mkdir',路径:'/ tmp / deployment / application / node_modules / node-sass / vendor'}
2)同时,好像节点和npm都在为我的ec2实例索取所有资源,即使部署失败,这种情况似乎仍在继续。
此故障可能是什么原因?其他软件包似乎正在按它们在node_modules文件夹中的方式进行部署?另外,为什么节点会以这种方式占用资源?
reactjs应用程序使用的是webpack和node-sass ^ 4.9.3,以及在我的本地环境下均可运行的节点版本8.11.3。
更新:.npmrc解决了权限问题。我仍然对100%的CPU有问题。在构建脚本中,代码没有越过这一行,我在代码中的各个点添加了console.log行:
let compiler = webpack(config);
点击此行后,我看不到任何进展。这可能是webpack问题吗?
答案 0 :(得分:0)
我认为这可能与here
中描述的问题相同因此,显然,在自动部署期间,npm安装会花费太长时间 在t1.micro实例上,碰撞到t2.small可以提供足够的动力 任务完成了。
答案 1 :(得分:0)
还有一个名为sass的替代纯js模块。似乎可以正常工作,但还不如最新。