我正在测试Meteor示例,这是我在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
有人帮忙吗?谢谢!
答案 0 :(得分:63)
我遇到了同样的问题。修正:
警告:这会删除您的本地数据库:
流星重置
答案 1 :(得分:27)
我遇到了同样的问题。只需删除流星项目文件夹中的.meteor/local/db/mongod.lock
即可。流星应该正常运行。
希望它有所帮助! :)
答案 2 :(得分:26)
正如mKriss所说,试试
meteor reset
如果您收到此错误:
reset: Meteor is running.
This command does not work while Meteor is running your application.
Exit the running meteor development server.
然后在你的运行过程中寻找流星:
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
现在一切正常!
答案 3 :(得分:19)
不确定这是否与您的问题相关,但我收到此错误并最终发现它是由于我的应用程序目录在NFS共享中(我在VirtualBox中运行Ubuntu)mongodb不喜欢。将我的应用程序放在我的主目录中,而不是修复问题。
答案 4 :(得分:11)
有几种解决方法,问题没有显示如何使用mongod
所以我将介绍如何获得有关错误的更多详细信息。 meteor reset
可能会工作但不总是&如果它确实有效,它会清除您的应用数据。
核心问题是meteor在显示数据方面非常不具备意图,所以我建议你更多地了解错误,因为它可能会出现任何mongodb错误。下面的步骤应该重现更多冗长的错误,以帮助诊断根本问题
查找Meteor安装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:
在带有终端应用程序/命令提示符的项目目录中
cd .meteor
cd local
/usr/local/meteor/mongodb/bin/mongod --dbpath ./
如果你的mongod
路径是其他用途,那么上述工作在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
上的目录,那么您的应用程序将使用新数据库。< / p>
错误非常有用,例如磁盘空间不足(清除垃圾箱;-)
或无法写入磁盘(权限问题 - 使用chmod / sudo)。
非常模糊的问题
如果你发现一些非常令人困惑的事情,那么它可能是一个mongodb问题而不是一个流星问题,请看看你在stackoverflow上遇到的错误,如果你找不到它就会提出一个问题和成群结队的有用的人希望随时准备提供帮助:)
答案 5 :(得分:10)
我有一个非常简单的解决方案:
export LC_ALL="en_US.UTF-8"
并运行meteor
如果没问题,可以将此行添加到
sudo vim /usr/local/bin/meteor
答案 6 :(得分:5)
如果meteor reset不适用,请检查磁盘空间使用情况。
如果您没有任何可用磁盘空间,则会收到此错误。 MongoDB占用大约450MB,因此创建一些项目可以快速填满分区。
答案 7 :(得分:3)
如果您的meteor项目位于DropBox文件夹中,请检查项目文件夹中conflicted copy
中包含单词.meteor/local/db/
的文件名,然后将其删除。这应该可以让Mongod自由奔跑。
答案 8 :(得分:3)
这有助于我在Google Compute Engine上运行meteor
:
export LC_ALL=C
答案 9 :(得分:2)
注意项目路径中的重音。
.. \Système\ MyMeteorProject不起作用, .. \ System \ MyMeteorProject将起作用。
答案 10 :(得分:1)
我知道这个问题相当陈旧,但我也遇到了这个问题,并认为这对某人有用。在我的案例中有用的是运行“sudo meteor”
答案 11 :(得分:1)
对于那些使用流浪汉并且不想meteor reset
的人,
清除meteor的本地目录的数据库解决了冲突。
来自终端:
rm -rf .meteor/local/db/
答案 12 :(得分:1)
我可以解决Meteor 1.2.1下的问题并通过删除锁定文件来恢复我的数据,将.meteor / local / db /的剩余部分复制到临时位置(你可能称之为备份),发出{{ 1}}并将备份数据复制回.meteor / local / db /。一切都和以前一样。
答案 13 :(得分:1)
我收到此错误消息:
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.
...结果发现我在同一个应用程序上运行了同一个应用程序的实例,因此添加“确保您没有在备用端口上运行该应用程序的任何其他实例”到列表中可能导致此错误的事情。
答案 14 :(得分:1)
原谅显而易见的,netstat -antep | grep 3002
显示什么? (假设你在* nix上)
答案 15 :(得分:0)
我可以通过删除Local Mogo db lock来恢复错误。
删除数据库锁的步骤:
注意: $ meteor reset
警告: meteor reset会删除本地数据库中的所有内容。
如果Meteor Application仍在后台运行,则会出现错误。正在运行的应用程序未释放Db锁定,或者由于系统/应用程序关闭不当而导致Db锁定,并且对于同一应用程序的第二个实
所以每次都要注意退出应用程序。
答案 16 :(得分:0)
当我尝试在链接到主机文件夹的VMWare共享文件夹中创建项目时出现同样的问题......
通过将项目移动到我的文件系统中的标准文件夹来cd / mnt / hgfs / Folder_in_C_host_drive
meteor create myapp
cd myapp
流星
意外的mongo退出代码100.重新启动。
...
解决 ... VMWare共享文件夹无法处理文件安全性,并且所有文件都是root:root所有......这就是为什么它以MongoDB错误结束
答案 17 :(得分:0)
如果您使用的是Vagrant,MongoDb将无法在Vagrant共享目录中运行:https://gist.github.com/gabrielhpugliese/5855677
如果您使用Windows进行开发工作,Meteor现在有一个Windows安装程序: http://win.meteor.com/
答案 18 :(得分:0)
我从同步中发现了同样的冲突问题。我正在使用Ubuntu One,并在.meteor / local / db /中创建了一堆新文件,并附加了“u1_conflicted”。我删除了那些,以及.meteor / local / db / journal中的那些,并且已经备份并运行。
答案 19 :(得分:0)
您可以尝试使用以下命令停止运行meteor应用程序:kill -9 ps ax | grep node | grep meteor | awk '{print $1}'
答案 20 :(得分:0)
Meteor reset
命令在DOS中对我不起作用
我删除了<projectfolder>/.meteor/local/db to Recycle Bin
**DOS Log below:**
D:\Meteor\todos>meteor reset
Project reset.
D:\Meteor\todos>
答案 21 :(得分:0)
Thu Apr 12 19:27:39 listen(): bind() failed errno:98 Address already in use for port: 27017
其他东西已经在使用端口27017,所以mongo启动失败了。在另一个端口上启动mongo或者先杀死使用27017的任何进程。
答案 22 :(得分:0)
我一时间遇到了Unexpected mongo exit code 100. Restarting.
错误。我最后回答了我自己的问题here,这似乎为许多人面临同样的问题做了诀窍。最重要的是它没有&#39 ; t需要meteor reset
擦除数据库。这是一个简单而快速的三步修复,所以我建议在一些更复杂的建议之前尝试它。
答案 23 :(得分:0)
我遇到了同样的问题。修正:
修正:
它对我来说很好。试试这个,这真的很有帮助。
答案 24 :(得分:0)
成为超级用户:
# meteor --allow-superuser
答案 25 :(得分:0)
在public class CreateOfferPresenterTest extends FragmentActivity {
@Rule
public FragmentTestRule<?, CreateOfferFragment> fragmentTestRule = FragmentTestRule.create(CreateOfferFragment.class);
@Test
public void setUp(){
}
用户上运行命令meteor reset
。它应该对你有用..