meteor:意外的芒戈退出代码100

我刚刚在我的CentOS版本6.3(Final)服务器(Linux版本2.6.32-279.19.1.el6.i686(mockbuild@c6b8.bsys.dev.centos.org))上安装了Meteor 0.5.9版本(45fef52095)(gcc版本4.4.6 20120305(Red Hat 4.4.6-4)(GCC))#1 SMP Wed Dec 19 04:30:58 UTC 2012)

我有一个samba共享到一个Windows SBS服务器挂载为/ mnt / apshared在apache用户下。 我在这个名为“webmeteor”里面创build了一个目录。 我在“webmeteor”目录下创build了一个名为“myapp”的应用程序,所以我的目录如下所示:/ mnt / apshared / webmeteor / myapp。

我以root身份login。 当我尝试使用meteor命令运行应用程序时,出现以下错误消息:

 Unexpected mongo exit code 100. Restarting. Unexpected mongo exit code 100. Restarting. Unexpected mongo exit code 100. Restarting. Can't start mongod MongoDB had an unspecified uncaught exception. Check to make sure that MongoDB is able to write to its database directory. 

我的第一个要点是这个StackOverflow的问题: 创build一个新的meteor.js文件,并得到错误100,MongoDB无法写 – 但是,遵循这些build议(sudo'ingmeteor命令,并检查我的磁盘空间有70GB免费)没有工作。 我很确定这些问题是许可相关的。

我试图recursion地recursion到root:root(因为我以root身份login),而且chmod以recursion方式recursion到777,但无济于事。

我问你,接下来我应该怎么做,让我的Meteor应用程序启动?

提前致谢。

它看起来像是一个临时的解决scheme,可以通过运行meteor从一个不在挂载的目录中find。 Mongodb似乎不太乐意共享,所以您需要设置rsync来定期将共享中的文件复制到meteor正在运行的目录中。

资料来源: 在meteor中运行例子的问题

使用meteor reset删除数据库中的所有数据。 如果你担心这个,那么导航到你的项目文件夹。

cd /path/to/my/project

这里你需要清除mongodb.lock文件。

rm .meteor/local/db/mongodb.lock

现在你可以用命令运行Meteor了,

meteor

对我来说,修复它是删除这个文件和文件夹: rm -rf .meteor/local/db/mongod.lock .meteor/local/db/journal/

谢谢

最后通过运行导出LC_ALL=C修复我的。 通过本文中build议的debugging步骤发现错误: https : //stackoverflow.com/a/15752736/1820510

正如其他地方所build议的,运行meteor reset解决了OS X上的问题。

警告: meteor reset会擦除本地数据库中的所有内容。

这是对我的帮助。

  1. 我删除了.meteor / local / db / mongod.lock
  2. 我杀了Mongo进程。 你可以使用“ps -ef | grep mongo”

确保在该分区上有足够的可用空间。 如果没有,你会得到这个错误。

我正在Vagrant下运行meteor,遇到这个问题,在find这个线程之前,我从/ var / lib / mongodb中删除了我的mongodb文件,因为那里有一个.lock,这可能或可能不是必需的,但值得寻找除了.meteor文件夹之外的其他mongodb可能存在的区域。

我希望它可以帮助别人。

这个bug曾经发生,每次我重新启动meteor和

 rm .meteor/local/db/mongod.lock 

没有为我工作(我在云9在线IDE)

我现在呢

 rm .meteor/local/db/mongod.lock .meteor/local/db/local.* 

一切都恢复正常, 没有擦除我的数据库

我在Windows 8.1 x64上遇到了同样的问题: '意外的mongo退出代码100.重新启动。 。 而'meteor重置'或'删除mongod.lock'没有解决它。 要在启动mongod时显示错误细节,我在run-mongo.js文件中添加了一个proc.stdout.on函数:

 // Let's not actually start a process if we yielded (eg during // findMongoAndKillItDead) and we decided to stop in the middle (eg, because // we're in multiple mode and another process exited). if (stopped) return; proc = spawnMongod(mongod_path, port, dbPath, replSetName); // added this 3 lines just to debug 'Unexpected mongo exit code 100. Restarting.' proc.stdout.on('data', function (data) { console.log('stdout: ' + data); }); 

然后我得到了明确的错误:

 ********************************************************************* ERROR: dbpath (C:\Users\Pierre-André\Desktop\Pal\Meteor\simple-todos\.meteor\local\db) does not exist. Create this directory or give existing directory in --dbpath. See http://dochub.mongodb.org/core/startingandstoppingmongo ********************************************************************* 

该错误表明db目录不存在。 但是,它存在。 问题是我在path中有一个特殊的字符(在我名下的口音)。 我将我的meteor项目文件夹移动到磁盘中的另一个地方,path是免费的,它工作正常。

希望这会有所帮助。

run-mongo.js文件位于我的电脑中:C:\ Users \ Pierre-André\ AppData \ Local \ .meteor \ packages \ meteor-tool \ 1.1.10 \ mt-os.windows.x86_32 \ tools \亚军

解决问题后,不要忘记删除3行,否则每次加载项目时都会有很多控制台日志。

我不小心把机器关了,导致了同样的问题。 没有选项帮助,即删除。locking文件或运行导出LC_ALL = C等。
我在Ubuntu 15.04上。 我使用指向myApp / .meteor / local / db的–dbpath选项启动了mongo,并且mongo启动日志清楚地表明mongo正试图从journal文件夹中的journal / s恢复数据库。 它正在寻找不存在的local.1文件。

所以我试着mongo – 恢复,进一步指出,它不会工作,直到我有日记文件夹。
这是我做的
1.删​​除日记文件夹(将其移动到另一个位置 – 以防万一)
2.运行mongo – 恢复(不是100%确定,如果这实际上做了什么)
3.开始meteor
它开始没有任何小故障,并猜测我所有的数据如预期

第一

$ rm .meteor / local / db / mongodb.lock

如果这不起作用

备份,你可以

.meteor /本地/ DB /meteor*

$meteor重置

并恢复

.meteor /本地/ DB /meteor*

解决了! 在我的情况下, deleting meteor/local/db/mongodb.lockmeteor reset修复问题。

谢谢大家!

如果你收到类似的通知

 Local folder has run out of space 

尝试去

 cd .meteor/local/bundler-cache/ 

并删除该目录中的所有内容。 它的caching,所以它不应该影响太多。 有时候它似乎不受控制地增长。

编辑

结合所有其他答案尝试

 rm -rf .meteor/local/db/mongod.lock .meteor/local/db/local.* .meteor/local/db/journal .meteor/local/bundler-cache/linker/ 

如果这仍然不起作用,您可能需要释放磁盘上的一些空间。 通过检查通过

 free -m 

或者看你的inode和多less空间正在被用完

 df -h 

当我第一次在我的新笔记本电脑(Windows 10)中安装节点和meteor时,我偶然发现了这个问题。 我没有在默认安装中进行任何更改。

meteor重置或从.meteor /本地/数据库中删除文件不起作用,因为我正在创build新的应用程序在本地运行,目录是空的。 所以,我可以创造他们,但他们没有运行。 也试图创build与旧meteor版本的应用程序,也失败了。

解决在我的情况下,通过更改目录到C:\

cd c:\

meteor创buildtestApp

这个目录也适用于我从我的电脑传来的预先存在的应用程序。 我想与NFS filesytems有关,我是新的所有这一切,如果任何人都可以解释更多关于它,我想了解更多。 我无法使用所有可能的目录来存储我的应用程序已经令人沮丧

我有一个类似的问题。 这是由于我的项目目录是我的Dropbox的一部分,在.meteor / local / db目录中有一些冲突的文件。 删除这些解决了这个问题。

我可以通过删除本地Mogo数据库锁来恢复错误。

删除数据库锁的步骤:

  1. 导航到您的应用程序目录(您拥有Meteor应用程序文件的位置)
  2. 删除文件$ rm .meteor / local / db / mongod.lock

如果Meteor应用程序仍在后台运行,则会发生错误。 Db锁不是由正在运行的应用程序释放的,也不是由于系统/应用程序closures不正确而不能用于同一应用程序的第二个实例。 所以请注意每次退出应用程序。

我遇到了同样的问题,我解决了它改变.meteor文件夹(MongoDB所在的地方)

 cd path-to-meteor-app sudo chown -R youruser:yourgruop .meteor 

希望能帮助别人!

我能够通过LC_ALL的导出来解决它,我正在使用Ubuntu

导出LC_ALL =“en_US.UTF-8”

如果您已经全局安装了Mongo,那么一定要删除/ db / journal文件夹中的所有prealloc文件。

对于Ubuntu,/ db /文件夹通常位于/ data,因此完整path是/ data / db / journal。 对于其他操作系统,这可能会有所不同。

当我第一次在我的新笔记本电脑(Windows 10)中安装节点和meteor时,我偶然发现了这个问题。 我没有在默认安装中进行任何更改。

meteor重置或从.meteor /本地/数据库中删除文件不起作用,因为我正在创build新的应用程序在本地运行,目录是空的。 所以,我可以创造他们,但他们没有运行。 也试图创build与旧meteor版本的应用程序,也失败了。

解决在我的情况下,通过更改目录到C:\

cd c:\

 meteor create testApp 

这个目录也适用于我从我的电脑传来的预先存在的应用程序。 我想与NFS filesytems有关,我是新的所有这一切,如果任何人都可以解释更多关于它,我想了解更多。 我无法使用所有可能的目录来存储我的应用程序已经令人沮丧

我在Windows 10上使用Meteor 1.4时遇到了这个问题。但是,我正在Ubuntu安装上开发相同的meteor应用程序。 这个问题是由于Mongo 3.2在Windows和Ubuntu上的实现方式不同造成的。 我的64位Ubuntu安装使用WiredTiger。 但正如Meteor 文档中所述 :

 If you are using Windows or 32bit Linux, you can update your development database to 3.2, however it will continue to use the MMAPv1 storage engine, as the 32bit MongoDB binary does not support WiredTiger. 

在Windows上使用meteor reset ,从Ubuntu吹走WiredTiger格式数据库,然后使用旧的MMAPV1引擎重build它。 这解决了退出代码100错误。

对于那些在Windows上使用bash(Linux Subsystem for Linux / WSL)的人,我发现在/ mnt目录之外创buildmeteor应用程序可以解决这个问题。

当我将它安装在/ mnt / c / Workspace的工作区中时,每次都会失败。 但是,一旦我将它安装在主目录(〜)中,它就会第一次运行。 这是图像。

我有同样的错误,我解决了它只是改变目录compañeroscompaneros的名字…我知道这是初学者的错,但我必须告诉这个帮助人惠。 C:\ nube \ MEGA \ cursos \ coursera \ CursowebResposivaEjemplos \compañeros\ meteor_portfolio_website不起作用C:\ nube \ MEGA \ cursos \ coursera \ CursowebResposivaEjemplos \ companeros \ meteor_portfolio_website正常工作。

我通过修改/ usr / local / lib / meteor文件解决了这个问题。

将“export LC_ALL = C LANG = C”添加到这个bash脚本中


#!/ usr / bin / env bash

导出LC_ALL = C LANG = C

BUNDLE_VERSION = 0.5.16


为我工作:我把项目移到另一个目录,因为我有Windows 8.1。 我在桌面目录中有项目时,将项目更改为C:\meteor\project