运行环境:
ubuntu 12.10
Mongodb 2.2.3
Nodejs 0.8.22
Meteor 0.5.9
在将Meteor工程导出来的时候,然后运行mongodb,再用nodejs运行main.js。在0.5.9之前是没什么问题的,更新到0.5.9就出现
PORT=3000 MONGO_URL=mongodb://localhost:27017/myapp node bundle/main.js
根据路径一路排查,发现在app/packages/meteor/url_server.js这个文件里的process.env.ROOT_URL是undefined。这个变量是meteor运行时的配置之一。之所以为什么是undefined,暂时不解。但解决的办法是:
在app/packages/meteor/url_server.js的首行添加
process.env.ROOT_URL = "http://localhost:3000";
添加之后再运行就OK了。
这是因为在meteor还没导出来之前,输出该变量的值就是上面的"http://localhost:3000"。所以在导出项目之后,这个变量变成undefined后,手动修改回原来的值是可行的。