我使用流星0.8.x但最近尝试升级到0.9.2。它适用于本地,但我对meteor bundle
或meteor build
首先我得到了这个错误
/var/projects/myproject/live/bundle/programs/server/boot.js:198
}).run();
^
Error: /var/projects/myproject/live/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt/build/Release/bcrypt_lib.node: invalid ELF header
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at bindings (/var/projects/myproject/live/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt/node_modules/bindings/bindings.js:74:15)
at Object.<anonymous> (/var/projects/myproject/live/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt/bcrypt.js:1:97)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
我尝试过的事情
live/bundle/programs/server/node_modules
不存在。npm install
中运行live/bundle/programs/server
,自述文件说到我注意到的事情。 bcrypt
中没有live/bundle/programs/server/package.json
个代码。在0.8.2中,我有命令手动安装fibers
和bcrypt
,但显然我不再需要光纤了。看起来我确实需要bcrypt
,但它位于与以前不同的位置。
我在文档中没有看到有关需要转到/var/projects/myproject/live/bundle/programs/server/npm/npm-bcrypt
并安装bcrypt
的内容。我可以手动删除它,但我做错了吗?
就像我说的那样我已经在programs/server
中将0.8.2需要它的地方安装了。我应该在program/server/npm/npm-bcrypt
手动安装吗?我应该将其添加到我要忽略的地方列表中
我把它放在试试中,所以现在我得到了这个错误
/var/projects/myproject/live/bundle/programs/server/node_modules/fibers/future.js:173
throw(ex);
^
Error: Cannot find module 'websocket-driver'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/var/projects/myproject/live/bundle/programs/server/npm/ddp/node_modules/faye-websocket/lib/faye/websocket.js:8:14)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
这是我需要手动安装的另一个模块吗?我的印象是我只是在做一些根本错误的事情。
我有以下流星套餐
.meteor / packages
# Meteor packages used by this project, one per line.
#
# 'meteor add' and 'meteor remove' will edit this file for you,
# but you can also edit it by hand.
standard-app-packages
audit-argument-checks
iron:router@0.9.3
meteorhacks:npm@1.2.0
npm-container
packages.json
{
"semver": "2.3.1",
"winston": "0.7.3",
"winston-loggly": "1.0.1"
}
注意:我正在OSX上开发/捆绑,但在Ubuntu上进行部署。
答案 0 :(得分:7)
我有类似的问题 - 我在DO上发布了我的解决方案
更新 - 以下是该论坛的答案:
如果其他人有这样的问题与bcrypt - 应用程序可能有自己的副本
/home/yourapp/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt/
删除那个噪音。然后这样做。
cd /home/yourapp/bundle/programs/server
npm install bcrypt
然后
cp -r /home/yourapp/bundle/programs/server/node_modules/bcrypt /home/yourapp/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt/
然后启动你的应用程序并享受meteory goodness。
答案 1 :(得分:0)
(对于那些通过Google绊倒的人)
找不到模块'MODULE-NAME'
或
找不到npm模块'MODULE-NAME'
如果您最近在应用程序运行时添加或删除了软件包,请尝试停止并重新启动流星应用程序。
// stop ( "CTRL+C" in terminal that launched process )
$ kill `ps ax | grep '[m]eteor' | awk '{print $1}'`
// start
$ meteor