2014-01-22 218 views
14

我正在使用新的Linux安裝。我正在嘗試安裝Meteor。使用Ubuntu 12.04,Centos和Ubuntu 13.04。我安裝了Node.js,Meteor和Meteorite。Mongo啓動流星錯誤

錯誤:

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. 
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. 

我已經試過:

刪除.meteor/local/db/mongod.lock 此外,我試圖改變權限與chmod整個項目。

你推薦任何Ubuntu發行版嗎?

在此先感謝。

+0

下面的答案是否可以解決您的問題?或者你找到了另一種解決方案嗎?我在Vagrant/VirtualBox中運行Ubuntu時遇到了這個問題。 :-( – nelsonic

回答

28

我之前(在流星更新或異常流星終止之後)就遇到了這個問題,這些解決方案之前都是爲我工作的。

  1. 重新啓動您的機器。
  2. 刪除文件.meteor/local/db/mongod.lock並再次運行meteor
  3. 執行meteor reset並重新開始,但此命令將清除您的數據庫。

希望它有幫助。

+4

'刪除文件.meteor/local/db/mongod.lock並再次運行meteor'只爲我工作,無需機器或流星重置。只需刪除文件,停止並啓動meteor應用程序,然後即將離開(在我的情況) – CodeMonkey

+4

第3步'流星重置'爲我做了詭計。謝謝! – Thor

+1

是我需要的所有流星重置! –

15

它有一些時間取決於您的區域設置設置。

流星重置和刪除mongod.lock沒有幫助我的情況。

我已經運行

export LC_ALL=C 

固定它,你可以加入這一行

sudo vim /usr/local/bin/meteor 
+0

你需要重新啓動才能工作嗎?你能解釋一下這條線嗎? – timebandit

+0

LC_ALL是覆蓋所有其他本地化設置的環境變量,請閱讀此處:http://unix.stackexchange.com/questions/87745/what-does-lc-all-c-do 是的,您需要重新啓動流星應用程序 我想指出,這是一個相當古老的問題(和答案),流星和Ubuntu的版本已經增加,所以我不知道它是否仍然是一個實際問題。 – ivan133

1

我有一個類似的問題。這是由於我的項目目錄是我的Dropbox的一部分,並且.meteor/local/db目錄中存在一些衝突的文件。刪除這些解決了這個問題。

4

我只需要在終端中運行「killall mongod」。之後,它再次運作。我相信它可能已經清除了數據庫的一部分。

+0

這對我有用! – rista404

1

我的磁盤空間不足時遇到同樣的問題。

釋放磁盤中的一些空間爲我解決了問題。

2

我發現,設置MONGO_URL有助於避免問題

export MONGO_URL=mongodb://localhost:27017/your_db 
+1

有趣的是,這被拒絕,因爲這只是我能找到解決問題的答案。 – mattcameron

1

我遇到了這個問題,當我在VMWare跑流星,Ubuntu的14.04來賓Windows 7的主機上。問題是我在共享目錄中運行meteor/mongo。當我使用非共享目錄(〜/ meteor/project)時,問題消失了。

3

對我來說,提出了一系列的建議。The answer已得到2反對票!和另一頁上的this one

sudo vim /usr/local/bin/meteor 
export LC_ALL="en_US.UTF-8" 

然後確保你的MongoDB是運行的端口在通過發出以下內容:

meteor mongo 

你會得到這樣的回答:

connecting to: 127.0.0.1:3001/meteor 

現在你知道的端口在其上配置mongo,將以下內容添加到我們編輯過的同一個文件中:

export MONGO_URL=mongodb://127.0.0.1:3001/meteor 

現在你很好走。當然,「流星重置」的作品,但如果你不想丟失你的數據,堅持這兩個出口線。

+0

它的工作原理,但我完全不明白爲什麼它在這些命令後工作,並沒有在他們面前工作。你能解釋一下嗎? – Daniel

1

按照@Oscar提到的步驟進行排序。 但是在我的情況meteor reset是行不通的,告訴我這一點:

reset: Meteor is running. 

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

因我所跟蹤的過程下來,就像這樣:

$ ps aux | grep meteor --color=auto 

這給了我這個信息:

$ myUser   71981 0.5 0.0 2849208 3644 ?? S Mon02pm 4:25.27 /Users/myUser/.meteor/packages/meteor-tool/.1.1.10.1b51q9m++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/mongodb/bin/mongod --bind_ip 127.0.0.1 --smallfiles --port 2001 --dbpath /Users/jgt/Documents/Projects/todos/.meteor/local/db --oplogSize 8 --replSet meteor 

正如你可以看到我在Mac上,但這在任何基於Unix的操作系統上都能正常工作。 ,那麼你只需要通過它的ID殺死進程,就像這樣:

$ kill -9 71981 

最後再運行meteor reset

就是它,得到它現在的工作。希望能幫助到你。

+0

忘了說'流星重置'將重置您的項目到一個新的狀態,刪除所有本地數據。欲瞭解更多信息,請訪問[鏈接](http://docs.meteor.com/#/basic/command-line) – jgtoriginal

2

如果你在運行Ubuntu Vagrant/VirtualBox時遇到了這個問題,那麼問題來自在同步的vagrant文​​件夾中工作。 解決方法是初始化主目錄中的.meteor目錄,並將其掛載到同步文件夾中。假設您的流星應用名爲MyApp的和/遊民是同步文件夾,這裏是如何做到這一點:

cd ~ 
meteor create MyApp 
cd MyApp 
meteor 
cd /vagrant/MyApp 
sudo mount --bind ~/MyApp/.meteor/ .meteor 
meteor 
-1

對於Windows 10,我感動於驅動所有的流星項目C.到目前爲止的工作。