0

私が持っている Micro Cloud Foundry のインスタンスに VMC で Calipso をプッシュしようとしていますが、次のエラーでスローされます。

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 での起動に失敗します。

4

1 に答える 1

1

免責事項:私は決してnode.jsのエキスパートではありませんが、libのパス、つまり「{App-Name&ID}」の部分に問題があるようです。

bcryptはネイティブのdepであるため、特別な処理が必要です。このすべてがここで説明されています:http://blog.cloudfoundry.com/2012/05/24/cloud-foundry-supports-node-js-modules-with-npm/

まだ確認していない場合は、確認することをお勧めします。また、そのブログ投稿に記載されている内容がmicro CloudFoundry(のバージョン)に適用されるかどうかもよくわかりません。実際のcloudfoundry.comサイトで試して、問題が解決するかどうかを確認することをお勧めします。

于 2012-10-05T10:04:38.167 に答える