NodeJS bcrypt错误在Micro Cloud Foundry上部署Calipso

时间:2012-10-05 05:31:01

标签: cloudfoundry bcrypt

我试图让VMC将Calipso推到我所拥有的Micro Cloud Foundry实例上,并且因为错误而被抛出

Unable to load shared library /var/vcap/data/dea/apps/{App-Name&ID}/app/node_modules/bcrypt/build/Release/bcrypt_lib.node 
 at Object..node (module.js:463:11)
    at Module.load (module.js:351:31)
    at Function._load (module.js:310:12)
    at Module.require (module.js:357:17)
    at require (module.js:368:17)
    at bindings (/var/vcap/data/dea/apps/Apptain-0-cb7703ae25d61741a91f9a828959ea6e/app/node_modules/bcrypt/node_modules/bindings/bindings.js:74:15)
    at Object.<anonymous> (/var/vcap/data/dea/apps/{App-Name&ID}/app/node_modules/bcrypt/bcrypt.js:1:96)
    at Module._compile (module.js:432:26)
    at Object..js (module.js:450:10)
    at Module.load (module.js:351:31)

bcrypt / node_modules / bindings / bindings.js的第74行是

var b = require(n)

但它很奇怪,因为整个块都是

var tries = []
    , i = 0
    , l = opts.try.length
    , n

  for (; i<l; i++) {
    n = join.apply(null, opts.try[i].map(function (p) {
      return opts[p] || p
    }))
    tries.push(n)
    try {
      var b = require(n)
      b.path = n
      return b
    } catch (e) {
      if (!/not find/i.test(e.message)) {
        throw e
      }
    }
  }

所以任何异常都应该被抓住,如果有必要再被抛下去。我知道我离地图很远,但任何人都能提供的任何帮助都会受到赞赏。我可以毫无问题地运行本地,但启动MicroCloud失败。

1 个答案:

答案 0 :(得分:1)

免责声明:我绝不是node.js专家,但似乎lib的路径有问题,即“{App-Name&amp; ID}”部分。

由于bcrypt是本地dep,因此需要特殊处理。所有这些都在这里解释:http://blog.cloudfoundry.com/2012/05/24/cloud-foundry-supports-node-js-modules-with-npm/

如果您还没有,可能需要检查一下。 此外,我不太确定该博客文章中描述的内容是否适用于(您的版本)micro CloudFoundry。您可以尝试在真正的cloudfoundry.com网站上试一试,看看它是否能解决您的问题。