1

node.js を使用して実行するアプリケーションがあります。特定のバグを解決するために、アプリケーションを実行するノードのカスタム バージョン (システムのデフォルト インストールではない) があります。だから私の開始スクリプトで私は変更します:

#!/usr/bin/env node

#!/Users/cmlacy/Dropbox/Engine/code/node-v0.8.9/out/Release/node

アプリケーションを実行すると、変更前にはなかった一連のエラーが発生します。

crispin:node cmlacy$ ./engine.js 
dyld: lazy symbol binding failed: Symbol not found: __ZN2v816FunctionTemplate3NewEPFNS_6HandleINS_5ValueEEERKNS_9ArgumentsEES3_NS1_INS_9SignatureEEE
  Referenced from: /Users/cmlacy/Dropbox/Engine/code/Engine-Developer/node/node_modules/mongodb/node_modules/bson/build/Release/bson.node
  Expected in: dynamic lookup

dyld: Symbol not found: __ZN2v816FunctionTemplate3NewEPFNS_6HandleINS_5ValueEEERKNS_9ArgumentsEES3_NS1_INS_9SignatureEEE
  Referenced from: /Users/cmlacy/Dropbox/Engine/code/Engine-Developer/node/node_modules/mongodb/node_modules/bson/build/Release/bson.node
  Expected in: dynamic lookup

Trace/BPT trap: 5

これは、node_modules の依存関係の一部が間違ったノード ライブラリに対してコンパイルされたためであると想定していますnpm install

4

1 に答える 1

0

特定のノード バージョンが、シェルのシステム ノードの前のパスにあることを確認してください。これで解決するはずです (もちろん、古い node_modules ビルド ディレクトリはすべて消去します)。

于 2013-10-30T11:14:13.653 に答える