Meteor部署与光纤模块有关的问题



在尝试部署流星时,我通过以下方式安装节点光纤:

$ cd bundle/server

然后安装光纤

$ npm install fibers

它似乎安装了,但带有以下消息:

`linux-x64-v8-3.14` exists; testing
Binary is fine; exiting
fibers@1.0.1 node_modules/fibers

然而,在使用部署代码时

node bundle/main.js

我得到这个错误:

throw new Error('`'+ modPath+ '.node` is missing. Try reinstalling `node-fibe
~/main_repo/bundle/server/node_modules/fibers/bin/linux-x64-v8-3.20/fibers.node` is missing. Try reinstalling `node-fibers`?

我可以看到linux-x64-v8-3.xx的版本不同。我使用的是Ubuntu 13.04

节点版本为v0.11.3NPM版本为1.2.18

您需要首先卸载光纤,以删除与服务器平台不兼容的二进制文件。

cd bundle/server
npm uninstall fibers 
npm install fibers

只有当您的服务器使用不同的平台时,即如果您的开发pc不是ubuntu,您才需要这样做。

存在一些版本问题。它对我有效:

cd bundle/server
npm uninstall fibers
npm install fibers@1.0.0 

以下是我所做的:

sudo npm install -g nvm
npm WARN deprecated nvm@0.0.3: This is NOT the correct nvm. Visit http://nvm.sh and use the curl command to install it.

然后我把nvm和这个放在一起:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.30.1/install.sh | bash

npm给出了这样的警告:

=> You currently have modules installed globally with `npm`. These will no
=> longer be linked to the active version of Node when you install a new node
=> with `nvm`; and they may (depending on how you construct your `$PATH`)
=> override the binaries of modules installed with `nvm`:
/usr/local/lib
├── bitcoinjs-lib@2.1.4
├── bower@1.6.5
├── cordova@5.4.1
├── ember-cli@1.13.8
├── fibers@1.0.8
├── grunt-cli@0.1.13
├── gulp@3.9.0
├── ionic@1.7.12
├── ios-deploy@1.8.2
├── ios-sim@5.0.3
├── lite-server@1.3.2
└── nvm@0.0.3
=> If you wish to uninstall them at a later point (or re-install them under your
=> `nvm` Nodes), you can remove them from the system Node as follows:
     $ nvm use system
     $ npm uninstall -g a_module

所以我做了nvm use system。现在使用系统版本的节点:v44.2.4(npm v2.14.12)

去卸载了所有东西:

sh-3.2# npm uninstall -g bower
unbuild bower@1.6.5
sh-3.2# npm uninstall -g cordova
unbuild cordova@5.4.1
sh-3.2# npm uninstall -g ember-cli
unbuild ember-cli@1.13.8
sh-3.2# npm uninstall -g fibers
unbuild fibers@1.0.8
sh-3.2# npm uninstall -g grunt-cli
unbuild grunt-cli@0.1.13
sh-3.2# npm uninstall -g gulp
unbuild gulp@3.9.0
sh-3.2# npm uninstall -g ionic
unbuild ionic@1.7.12
sh-3.2# npm uninstall -g ios-deploy
unbuild ios-deploy@1.8.2
sh-3.2# npm uninstall -g ios-sim
unbuild ios-sim@5.0.3
sh-3.2# npm uninstall -g lite-server
unbuild lite-server@1.3.2
sh-3.2# npm uninstall -g nvm
unbuild nvm@0.0.3
sh-3.2#
Downgraded to node 0.10.36:
nvm install 0.10.36

现在也许我可以运行它了。所以我删除了整个应用程序文件夹,并用这个重新创建:

hotel:Sites tom$ meteor create --example localmarket
Created a new Meteor app in 'localmarket'.

运行您的新应用程序:

cd localmarket
meteor

如果您是Meteor的新手,请尝试此处的一些学习资源:https://www.meteor.com/learn

hotel:Sites tom$ cd localmarket/
hotel:localmarket tom$ meteor
[[[[[ ~/Dropbox/Sites/localmarket ]]]]]
=> Started proxy.
=> Started MongoDB.
W20160118-22:04:11.145(13)? (STDERR)
W20160118-22:04:11.146(13)? (STDERR) module.js:340
W20160118-22:04:11.147(13)? (STDERR)     throw err;
W20160118-22:04:11.148(13)? (STDERR)           ^
W20160118-22:04:11.148(13)? (STDERR) Error: Cannot find module 'fibers'
W20160118-22:04:11.148(13)? (STDERR)     at Function.Module._resolveFilename (module.js:338:15)
W20160118-22:04:11.148(13)? (STDERR)     at Function.Module._load (module.js:280:25)
W20160118-22:04:11.148(13)? (STDERR)     at Module.require (module.js:364:17)
W20160118-22:04:11.149(13)? (STDERR)     at require (module.js:380:17)
W20160118-22:04:11.149(13)? (STDERR)     at Object.<anonymous> (/Users/tom/Dropbox/Sites/localmarket/.meteor/local/build/programs/server/boot.js:1:75)
W20160118-22:04:11.149(13)? (STDERR)     at Module._compile (module.js:456:26)
W20160118-22:04:11.149(13)? (STDERR)     at Object.Module._extensions..js (module.js:474:10)
W20160118-22:04:11.149(13)? (STDERR)     at Module.load (module.js:356:32)
W20160118-22:04:11.149(13)? (STDERR)     at Function.Module._load (module.js:312:12)
W20160118-22:04:11.150(13)? (STDERR)     at Module.require (module.js:364:17)
=> Exited with code: 8
W20160118-22:04:21.515(13)? (STDERR)
W20160118-22:04:21.516(13)? (STDERR) module.js:340
W20160118-22:04:21.516(13)? (STDERR)     throw err;
W20160118-22:04:21.516(13)? (STDERR)           ^
W20160118-22:04:21.516(13)? (STDERR) Error: Cannot find module 'fibers'
W20160118-22:04:21.516(13)? (STDERR)     at Function.Module._resolveFilename (module.js:338:15)
W20160118-22:04:21.517(13)? (STDERR)     at Function.Module._load (module.js:280:25)
W20160118-22:04:21.517(13)? (STDERR)     at Module.require (module.js:364:17)
W20160118-22:04:21.517(13)? (STDERR)     at require (module.js:380:17)
W20160118-22:04:21.517(13)? (STDERR)     at Object.<anonymous> (/Users/tom/Dropbox/Sites/localmarket/.meteor/local/build/programs/server/boot.js:1:75)
W20160118-22:04:21.517(13)? (STDERR)     at Module._compile (module.js:456:26)
W20160118-22:04:21.519(13)? (STDERR)     at Object.Module._extensions..js (module.js:474:10)
W20160118-22:04:21.519(13)? (STDERR)     at Module.load (module.js:356:32)
W20160118-22:04:21.519(13)? (STDERR)     at Function.Module._load (module.js:312:12)
W20160118-22:04:21.519(13)? (STDERR)     at Module.require (module.js:364:17)

啊,没用。

节点版本为v0.11.3 NPM版本为1.2.18

Meteor 1.3.3及之前版本仅使用高达节点v0.10.4x.

使用nvm运行特定的节点版本。

参考

  • 升级Node.js
  • Meteor+NodeJS 0.12

最新更新