Meteor已经发生了变化,docs.meteor.com上缺少生产部署的文档。
我有一个相当不错的Meteor应用程序,在开发模式下运行良好。因此,我使用新命令进行打包,因为旧的bundle命令已被弃用:
meteor build ./build/ --architecture os.linux.x86_64
在生产服务器上,我安装了最新版本的nodejs(目前是0.12),然后复制并解压构建文件。Mongo DB位于另一台服务器上,因此我只需要重新定义端口(PORT)、根URL(ROOT_URL)、Mongo操作日志URL(MONGO_OPLOG_URL)和Mongo URL环境变量。
但很快就会出现常见的fibers缺失错误:
module.js:338
throw err;
^
Error: Cannot find module 'fibers'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
...........
以下是我尝试的方法:
- npm install fibers@1.0.1 -g # 但它失败了。
- npm install fibers -g 成功并安装了版本1.0.5
这里是情况:
root@server:~# npm version
{ npm: '2.5.1',
http_parser: '2.3',
modules: '14',
node: '0.12.0',
openssl: '1.0.1l',
uv: '1.0.2',
v8: '3.28.73',
zlib: '1.2.8' }
root@server:~# npm ls -g | grep fibers
├── fibers@1.0.5
root@server:/opt/meteor/authmonitor-src# meteor list-platforms
browser
server
但我仍然遇到相同的错误:Error: Cannot find module 'fibers'
问题:
- 有没有最新的手册介绍如何在本地生产服务器上部署meteor应用程序?
- 为什么/如何安装fibers模块,以及应该安装哪个版本?
- 使用export NODE_PATH=/usr/local/lib/node_modules/部分帮助解决了问题,但是在使用npm install xxx -g后,所需的模块(如underscore和semver)安装后,又出现了其他fiber错误:"Error: Module did not self-register."
- 你有什么建议?
谢谢!