web-dev-qa-db-ja.com

Fibre.nodeがないため、Meteorバンドルが失敗する

バンドルされたnode.fiberは、別のサーバーへのデプロイ後に次のエラーでロードに失敗します。

/home/ec2-user/bundle/server/node_modules/fibers/fibers.js:13
    throw new Error('`'+ modPath+ '.node` is missing. Try reinstalling `node-fibe
          ^
Error: `/home/ec2-user/bundle/server/node_modules/fibers/bin/linux-x64-v8-3.11/fibers.node` is missing. Try reinstalling `node-fibers`?
    at Object.<anonymous> (/home/ec2-user/bundle/server/node_modules/fibers/fibers.js:13:8)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at Object.<anonymous> (/home/ec2-user/bundle/server/server.js:3:1)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
19
Ola Wiberg

バンドルを開梱した後、ノードファイバーを再インストールする必要があります。この問題を修正するには、サーバーディレクトリに移動します。

$ cd bundle/programs/server

次にfibersをアンインストールします

$ npm uninstall fibers

次にfibersをインストールします

$ npm install fibers

次に、アプリケーションを起動します

$ cd ../../
$ PORT=3000 MONGO_URL=mongodb://localhost:27017/myapp node bundle/main.js

アプリを更新するたびにそれを繰り返す必要があります。これは、Meteorが現在Node=を使用している方法です。潜在的な長期的な修正は、ここで見つけることができます: http://meteorhacks.com/how-meteor-uses-node .html

注:Meteor 0.6.5およびNode 0.10。*では、これは若干異なる動作をする場合があります。bundle/serverおよびbundle/programs/serverから手動でファイバーを削除する必要がある場合があります。 $ rm -R node_modules/fibersでそれを行うことができます。次に、$ npm install fibersで両方の場所からファイバーを再インストールする必要があります。

48
Ola Wiberg

Meteor 1.0.3.2とNode 0.12.0で同じ問題がありました。Node 0.10.31にダウングレードする必要がありました。これにより問題が修正されました。

すべての手順は、バンドルフォルダーのreadmeファイルに記載されています。

2
gpasse