节点无效错误部署会对弹性beantalk

时间:2018-10-03 15:03:07

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

我正在尝试将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问题吗?

2 个答案:

答案 0 :(得分:0)

我认为这可能与here

中描述的问题相同
  

因此,显然,在自动部署期间,npm安装会花费太长时间   在t1.micro实例上,碰撞到t2.small可以提供足够的动力   任务完成了。

答案 1 :(得分:0)

还有一个名为sass的替代纯js模块。似乎可以正常工作,但还不如最新。