【问题标题】:NPM Fails install of bcrypt on ElasticBeanstalkNPM 无法在 ElasticBeanstalk 上安装 bcrypt
【发布时间】:2018-03-16 02:15:37
【问题描述】:

我在 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 文件夹并尝试在没有 bcrypt 作为依赖项的情况下运行 npm install 来在本地复制问题。然后我再次删除了 node_modules 文件夹并添加了 bcrypt 作为直接依赖项,并且 npm install 工作正常。

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 我已经检查过了,我最终通过了这个,因为我必须安装一些依赖项才能通过 bcrypt。它甚至没有通过部署,所以它只能在 /temp/deployment/application 中找到。它现在对 node-uuid 说要使用 uuid 感到窒息。但是我无法控制依赖项使用什么,也无法更改它们的代码。
    猜你喜欢
    • 2014-11-09
    • 2015-05-20
    • 2014-11-21
    • 2020-03-31
    • 2012-12-26
    • 1970-01-01
    • 2021-05-24
    • 2015-09-22
    • 1970-01-01
    相关资源
    最近更新 更多