NPM无法在ElasticBeanstalk上安装bcrypt

时间:2017-10-04 15:46:44

标签: node.js amazon-web-services elastic-beanstalk amazon-elastic-beanstalk

我在OSX上本地运行正常,我正在尝试将其部署到aws elasticbeanstalk。在部署过程中,我收到了一个错误,如下面的

bcrypt@1.0.3 install /tmp/deployment/application/node_modules/bcrypt  
node-pre-gyp install --fallback-to-build   
module.js:471  
  throw err;  
  ^  
Error: Cannot find module '../'  
  at Function.Module._resolveFilename (module.js:469:15)  
  at Function.Module._load (module.js:417:25)  
  at Module.require (module.js:497:17)  
  at require (internal/module.js:20:19)  
  at Object.<anonymous>  
(/tmp/deployment/application/node_modules/.bin/node-pre-gyp:15:20)
  at Module._compile (module.js:570:32)  
  at Object.Module._extensions..js (module.js:579:10)  
  at Module.load (module.js:487:32)  
  at tryModuleLoad (module.js:446:12)  
  at Function.Module._load (module.js:438:3)  

我已经读过这似乎是npm install的一个问题,我应该将bcrypt直接添加到我的package.json文件中以获取依赖项,我已经做到了。

我能够通过删除我的node_modules文件夹并尝试运行npm install而不使用bcrypt作为依赖项来本地复制该问题。然后我再次删除了node_modules文件夹并添加了bcrypt作为直接依赖项,npm install工作正常。

但是我似乎无法通过elasticbeanstalk解决这个问题。当我进入实例时,路径中没有节点或npm,我不确定它们在ElasticBeanstalk上的安装位置。我确实发现部署在/ tmp / deployment / application下,我试图删除node_modules目录并再次部署,但是这也没有解决问题。

1 个答案:

答案 0 :(得分:0)

你可能想确保beanstalk实例安装了Python 2.x,因为BCrypt依赖它来使它工作。

此外,beanstalk应用程序安装在以下路径中: / var / app / current