在meteor中运行例子的问题

我正在testingmeteor的例子,这就是我在todos例子中运行meteor时候看到的:

 Unexpected mongo exit code 100. Restarting. Unexpected mongo exit code 100. Restarting. Unexpected mongo exit code 100. Restarting. Can't start mongod. Check for other processes listening on port 3002 or other meteors running in the same project. 

这是如果我在命令行中运行mongod会发生什么事情:

 Thu Apr 12 19:27:39 Mongo DB : starting : pid = 2686 port = 27017 dbpath = /data/db/ master = 0 slave = 0 32-bit ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data ** see http://blog.mongodb.org/post/137788967/32-bit-limitations for more Thu Apr 12 19:27:39 db version v1.4.4, pdfile version 4.5 Thu Apr 12 19:27:39 git version: nogitversion Thu Apr 12 19:27:39 sys info: Linux murphy 2.6.32.14-dsa-ia32 #1 SMP Thu May 27 16:19:20 CEST 2010 i686 BOOST_LIB_VERSION=1_42 Thu Apr 12 19:27:39 waiting for connections on port 27017 Thu Apr 12 19:27:39 listen(): bind() failed errno:98 Address already in use for port: 27017 Thu Apr 12 19:27:39 MiniWebServer: bind() failed port:28017 errno:98 Address already in use Thu Apr 12 19:27:39 addr already in use Thu Apr 12 19:27:39 warning: web admin interface failed to initialize on port 28017 

有人帮忙? 谢谢!

我有同样的问题。 修正了:

警告:这会擦除您的本地数据库:

meteor重置

正如mKriss提到的那样,尝试一下

 meteor reset 

如果你得到这个错误:

 reset: Meteor is running. This command does not work while Meteor is running your application. Exit the running meteor development server. 

然后在你正在运行的进程中寻找meteor:

 ps -x | grep meteor 

这给了我以下输出:

 14877 pts/0 Sl 0:02 /usr/lib/meteor/mongodb/bin/mongod --bind_ip 127.0.0.1 --port 3005 --dbpath /home/sam/proto/.meteor/local/db 15022 pts/0 S+ 0:00 grep --color=auto meteor 

那么我做了:

 kill -s KILL 14877 meteor reset meteor 

现在一切正常!

我有同样的问题。 只要在meteor项目文件夹中删除.meteor/local/db/mongod.lock 。 而meteor应该正常运行。

希望它有帮助! 🙂

不知道这是否与你的问题有关,但我得到了这个错误,最终发现它是由于我有我的应用程序目录在一个NFS共享(我在VirtualBox的Ubuntu上运行)MongoDB不喜欢。 把我的应用程序放在我的主目录中,而不是解决问题。

有几种方法可以解决这个问题,这个问题并没有说明如何使用mongod所以我将通过如何获得关于错误的更多细节来解决这个问题。 meteor reset 可能会工作,但并不总是&它会清除您的应用程序数据,如果它的工作。

meteor在显示数据方面的核心问题是非常不具有说服力,所以我build议获得一些更详细的错误信息,因为它可能会出现任何的mongodb错误。 下面的步骤应该更加详细地重现错误,以帮助诊断根本问题

findmeteor在哪里安装mongodb

如果您有mongod工具(可从http://mongodb.com下载),否则使用meteor安装的工具。; 只是要小心,你不要太新的版本,升级你的旧数据库,然后meteor的老mongodb将无法理解它。

通常(但不总是)在

/ usr / local / meteor / mongodb / bin / mongod( OS X

/ usr / lib / meteor / mongodb / bin / mongod( Red Hat / Debian

C:\ Program Files \ Meteor \ mongodb \ bin \ mongod.exe( Windows通过Tom Wijsman的端口

用mongodb手动运行Meteor的数据库

所以我们要用这个在你的应用mongodb数据库上手动运行mongodb:

在您的terminal应用程序/命令提示符的项目目录中

 cd .meteor cd local /usr/local/meteor/mongodb/bin/mongod --dbpath ./ 

如果你的mongodpath是其他的东西使用,那么上面的OS X的作品。

分析输出以找出问题的根本原因

现在,mongodb应该运行并给出一个很好的问题描述,或者顺利运行:

 Mon Apr 1 23:59:55 [initandlisten] MongoDB starting : pid=84640 port=27017 dbpath=./ 64-bit host=MacBook-Pro.local Mon Apr 1 23:59:55 [initandlisten] Mon Apr 1 23:59:55 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000 Mon Apr 1 23:59:55 [initandlisten] db version v2.2.1, pdfile version 4.5 Mon Apr 1 23:59:55 [initandlisten] git version: d6764bf8dfe0685521b8bc7b98fd1fab8cfeb5ae Mon Apr 1 23:59:55 [initandlisten] waiting for connections on port 27017 

看看错误可能是什么,然后解决显示的问题。 这可能是其中之一。

示例问题

如果有:

 exception in initAndListen: 10310 Unable to lock file: ./mongod.lock. Is a mongod instance already running?, terminating 

然后重新启动您的计算机,以杀死任何可能使用该文件的进程,如果仍然不能使用meteor reset来清除.meteor/local/db目录,所以你的应用程序使用新的数据库。

这些错误是非常有用的,例如磁盘空间不足(清除垃圾;-)或不能写入磁盘(权限问题 – 使用chmod / sudo)。

非常晦涩的问题

如果你发现一些非常令人困惑的东西,它可能是一个比meteor还要多的mongodb问题,请仔细查看一下你在stackoverflow上得到的错误,如果你找不到,就提出一个问题,帮助 :)

我有非常简单的解决scheme:

export LC_ALL="en_US.UTF-8"

并运行meteor

如果没关系,你可以添加这一行

sudo vim /usr/local/bin/meteor

如果meteor重置不适用于您,请检查您的磁盘空间使用情况。

如果您没有任何可用磁盘空间,则会出现此错误。 MongoDB占用大约450MB,因此创build一些项目可以快速填满一个分区。

如果您的meteor项目位于DropBox文件夹中,请检查项目文件夹中是否包含.meteor/local/db/conflicted copy文字的文件名,并将其删除。 这应该释放Mongod运行。

这帮助我在Google Compute Engine上运行meteor

 export LC_ALL=C 

注意项目path中的重音符号。

.. \Système\ MyMeteorProject将无法正常工作,.. \ System \ MyMeteorProject将工作。

原谅明显,但没有netstat -antep | grep 3002 netstat -antep | grep 3002显示什么? (假设你在* nix)

我知道这个问题是相当老的,但是我也遇到了这个问题,并认为这可能是有用的人。 在我的情况下工作是运行“sudometeor”

我可以在Meteor 1.2.1下解决这个问题,并通过删除locking文件,将.meteor / local / db /的剩余部分拷贝到临时位置(可以称之为备份)来恢复我的数据,发出meteor reset并复制备份数据回到.meteor / local / db /。 一切和以前一样工作。

对于那些使用stream浪者而又不想meteor reset ,清理掉meteor本地目录的db就解决了冲突。 从docker:

 rm -rf .meteor/local/db/ 
 Thu Apr 12 19:27:39 listen(): bind() failed errno:98 Address already in use for port: 27017 

别的东西已经在使用端口27017,所以mongo启动失败。 在不同的端口上启动mongo,或者首先终止使用27017的进程。

Meteor reset命令在DOS下不适用于我

我删除了<projectfolder>/.meteor/local/db to Recycle Bin下的所有文件和文件夹<projectfolder>/.meteor/local/db to Recycle Bin

 **DOS Log below:** D:\Meteor\todos>meteor reset Project reset. D:\Meteor\todos> 

我发现同步冲突问题。 我正在使用Ubuntu One,并且在.meteor / local / db /中创build了一系列新文件,并附加了“u1_conflicted”。 我删除了这些,并在.meteor /本地/数据库/杂志和备份和运行。

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

删除数据库锁的步骤:

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

注意$meteor重置

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

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

所以请注意每次退出应用程序。

我得到这个错误信息:

 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. 

…事实certificate,我有一个不同的端口上运行相同的应用程序的实例,所以添加“确保您没有任何其他应用程序在另一个端口上运行的实例”列表的东西可能会导致这个错误。

同样的问题,当我尝试在链接到主机文件夹的VMWare共享文件夹中创build我的项目…

cd / mnt / hgfs / Folder_in_C_host_drive

meteor创buildmyapp

cd myapp

meteor

意外的mongo退出代码100.重新启动。

通过将项目移动到我的文件系统中的标准文件夹解决VMWare共享文件夹不能处理文件安全性 ,任何文件都是root:root拥有…这就是为什么它结束在这些MongoDB错误

如果您使用的是Vagrant,MongoDb将不会在Vagrant共享目录中运行: https ://gist.github.com/gabrielhpugliese/5855677

如果你使用Windows开发工作,Meteor现在有一个Windows安装程序: http : //win.meteor.com/

您可以尝试使用以下命令停止运行meteor应用程序: kill -9 ps ax | grep node | grep meteor | awk '{print $1}' ps ax | grep node | grep meteor | awk '{print $1}'

我遇到了Unexpected mongo exit code 100. Restarting. 错误了一阵子回来。我结束了在这里回答我自己的问题,似乎已经做了许多面临同样问题的伎俩。最重要的是它不需要meteor reset擦拭数据库。这是一个简单而快速的三步修复,所以我build议尝试一些更复杂的build议之前。

我有同样的问题。 修正了:

修正了:

  1. 你的项目目录
  2. redirect到.meteor目录> .local> .db
  3. 在.db文件夹中从这里删除所有文件
  4. 运行命令“meteor”

这对我来说工作得很好。试试这个,这真的很有帮助。

成为超级用户:

# meteor --allow-superuser