Meteor:意外的Mongo退出代码100。正在重新启动。无法启动mongo服务器。

8
我不得不强制重启我的mac,现在在尝试启动本地主机上的特定meteor应用程序时遇到以下错误。
意外的mongo退出码100。重新启动。无法启动Mongo服务器。MongoDB出现了未指定的未捕获异常。这可能是由于MongoDB无法写入本地数据库引起的。检查您是否有写入.meteor/local的权限。MongoDB不支持像NFS这样不允许文件锁定的文件系统。
在错误出现之前一切正常,没有进行任何重大更改。已经查看了与该问题相关的其他线程,但到目前为止,我找到的所有答案都没有解决它。主要建议似乎是删除mongod.lock文件并像往常一样重新启动应用程序,但这没有起作用。我还检查并验证了我对该文件具有读/写权限。
另一个建议是使用meteor reset,但我不能使用它,因为我需要当前在应用程序db中的数据,而重置将清除它。
我尝试过的其他东西都没有成功。主要是这个线程上的所有内容。Problems to run examples in Meteor
我尝试简单地运行sudo meteor,如上面的线程中最近的答案建议的那样。
我直接从我的系统上的meteor安装目录运行了mongod,它启动了端口27017上的mongodb,没有任何问题。
绝望之下,我还尝试创建一个新应用程序,并将损坏的应用程序中的文件/文件夹导入其中。那个应用程序可以正常启动,但我无法登录,这表明相关的mongodb未连接到新的应用程序实例。
有没有办法停止终端中所有与Meteor特定的mongo进程,以确保没有隐藏的进程导致问题?我似乎记得以前在postgres上遇到过类似的问题,是通过这种方式解决的。但现在我已经没有任何想法了。
大多数先前关于此问题的线程都相当古老,因此如果有人最近遇到过这个问题并以某种不同于建议方法的方式修复了它,我将非常感激帮助我重新启动我的应用程序。如果没有,一些关于如何在不需要运行Meteor应用程序的情况下进行数据转储/恢复的建议将不胜感激。
抱歉问题太长,提前感谢!

编辑:此问题被标记为可能是重复问题,并在Meteor: unexpected mongo exit code 100中解决。 然而,那里提供的答案都没有直接解决我的问题。经过一些额外的尝试和结合几个先前的答案,我解决了我的问题。我将在下面发布我的答案。


可能是重复的问题,与 https://dev59.com/3GUo5IYBdhLWcg3w_DlK 和 https://dev59.com/D4Lba4cB1Zd3GeqPaSEG 相似。 - Andrew Mao
@AndrewMao 感谢您的及时反馈。是的,我知道那些线程,并且正如我所提到的,我认为我已经按照他们建议的检查了一切,但迄今为止没有任何运气。因此,在技术上,问题是相同的,但是重复的答案似乎无法解决它,因此需要其他东西。它们大多似乎集中在meteor reset周围,但我不能使用它,或者删除mongod.lock,我已经尝试过了。我可能错过了什么,所以我会继续寻找。 - mikeym
2个回答

38

以下是解决此问题的步骤:

  1. 删除 .meteor/local/db/mongod.lock
  2. 删除 .meteor/local/db/journal/j.* (注意:我只是移动了它以防万一! ;D)
  3. sudo meteor

对于我来说,sudo可能并不是必需的,但这是唯一让我重新进入应用程序的方法。希望这能节省其他人恢复运行所需的一些时间。


谢谢,+1。 我尝试了许多其他解决方案,而这是唯一一个在不重置数据库的情况下就能正常工作的。 我不需要sudo meteor,只需要普通的meteor。 我建议您也将您的答案发布在其他线程中。 - user2330237
谢谢伙计。这个有帮助。 - Praveen
没问题,伙计们。很高兴这个解决方案能帮助人们重新运行起来! - mikeym
这就是它!谢谢您先生! - James M. Lay

1

如果你正在使用Windows系统并且遇到以下问题,那么你可能需要安装 Visual C++ Redistributable for Visual Studio 2015。

C:\Users\user\app> meteor
=> Started proxy.
Unexpected mongo exit code 3221225781. Restarting.
Unexpected mongo exit code 3221225781. Restarting.
Unexpected mongo exit code 3221225781. Restarting.
Can't start Mongo server.

在这里下载并安装。

安装vc_redist.x64后,您应该能够无问题地运行Meteor和MongoDB服务器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接