我最近更新了Meteor,并且遇到了一些烦人的错误,这使得我的项目很难处理。例如,当我运行
meteor
它给了我这个:
=> Started proxy.
Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Can't start Mongo server.
MongoDB had an unspecified uncaught exception.
This can be caused by MongoDB being unable to write to a local database.
Check that you have permissions to write to .meteor/local. MongoDB does
not support filesystems like NFS that do not allow file locking.
我在debian上以root身份运行它,所以它不应该是一个权限错误...但我是Linux新手所以也许这就是它......
我跑:
meteor reset
它会运行我的程序,但是一旦我运行
meteor mongo
访问我的数据库,但后来我得到了这个:
=> Exited from signal : SIGKILL
Killed
它打破了我的项目,我再次获得意外的mongo退出代码100。
直到Meteor 0.9.0这是一个错误或Linux权限错误才发生这种情况?
谢谢!
答案 0 :(得分:1)
我在Codio.io中遇到过这个问题。 您的VM可能没有磁盘空间。 免费虚拟机空间有限,cod.io为您提供1GB。 流星的大小随着0.9.0和0.9.1的更新而增长(我认为它是〜300mb),加上需要450mb的mongoDB并没有留下很大的空间。 看看你投射的空间占用了多少:
du -h
将列出项目大小并为monogdb添加450mb,看看它是否超过为VM分配的空间。
特定于cod.io你可以运行:
df -h | grep xvdc | head -1 | awk '{print "free: " $4 " of " $2 ". Used: " $3}'
看看你剩下多少空间
解决我的问题我将mongoDB移动到mongoHQ(compose.io)并设置了一个AWS沙箱DB(免费!!!!!)
然后当你启动流星时,你指着它:
MONGO_URL=mongodb://user:pass@xxxx.mongohq.com:xxxxx/xxxx meteor
答案 1 :(得分:1)
我在尝试启动流星应用程序时遇到了同样的问题,并且mongodb服务器正在以一种意想不到的方式终止。一般来说,你提到的虚拟linux没有交换分区(检入 / etc / fstab 文件),所以如果你没有足够的内存来分配MongoDB服务器那么meteor app无法启动。您可以创建swap partition或升级可用于虚拟机的内存。您还可以通过swapspace
模拟交换分区sudo apt-get install swapspace
之后我就可以启动流星应用程序......请耐心等待,因为交换内存不如RAM快。
答案 2 :(得分:0)
您需要删除.meteor / local / db文件夹中找到的mongodb.lock文件
答案 3 :(得分:0)
你在使用陨石吗?也许问题出在一些包装上。
当你update to 0.9.0时,如果你一直在使用陨石,那么你将是 提示使用
mrt migrate-app
升级您的项目。和 atmospherejs.com已更新为指向官方包 服务器 - 检查出来!