2013-01-13 50 views
2

enter image description here耙分貝:遷移錯誤(功能「inotify_init」未找到)

我剛剛完成的設置我的軌道上我的舊Mac書環境,就遇到了這個錯誤。我已經安裝了FFI和rb-inotify。我也再次運行軟件包安裝。我已經看了

https://groups.google.com/forum/?fromgroups=#!topic/ruby-ffi/gj3_k34o80k

這都表明,這是一個Linux特有的API。有一個關於第二個鏈接的建議,說我應該刪除那些依賴它的寶石和東西,但是我很猶豫是要刪除FFI,這似乎取決於它。

你建議採取什麼行動?任何有關這個問題的建議非常感謝。

編輯:我正在運行rails 3.2.7(更新到3.2.11今晚)。

編輯2:我發現這個:Rubygems: How do I add platform-specific dependency?。這有幫助嗎?編輯3:你認爲這可能與rbenv有關嗎?編輯4:我將我的開發寶石從rb-inotify更改爲rb-fsevent,運行bundle install然後執行db:migrate。

enter image description here

它繼續運行遷移。

嗯......我問我的團隊成員,使用mac已經嘗試執行rake db:因爲我們的Linux開發人員在我們的gem集中添加了rb-inotify,因此進行了遷移。

此鏈接可能是有用的人誰談到這樣:https://supportbee.com/devblog/2012/07/18/using-platform-dependent-gems-rb-inotify-and-rb-fsevent/

編輯5:我一直在尋找的guard gem,特別是這部分:

enter image description here

我加了這一點,它會執行rake db:migrate,但我仍然得到一個非常類似的錯誤列表:

Could not open library 'libgtk-x11-2.0': dlopen(libgtk-x11-2.0, 13): image not found. 

我認爲我正在朝着完整的解決方案前進!

編輯7:看看這個stackoverflow的問題,由於libnotify寶石:Image Not Found Errors after Upgrade to Rails 3.1, how to fix?由於其餘的錯誤。它建議這樣做:

gem 'libnotify' if /linux/ =~ RUBY_PLATFORM 
gem 'growl' if /darwin/ =~ RUBY_PLATFORM 
+0

+1爲好的截圖 – prusswan

回答

11

本質上說,有人在我的球隊添加一些東西Linux的具體安裝。爲了解決這個問題,請執行下列操作:

對於RB-inotify的東西,這樣做:

group :development do 
    gem 'rb-inotify', :require => false 
    gem 'rb-fsevent', :require => false 
    gem 'rb-fchange', :require => false 
end 

如果你有libnotify,這樣做:

gem 'libnotify' if /linux/ =~ RUBY_PLATFORM 
gem 'growl' if /darwin/ =~ RUBY_PLATFORM 

爲我工作,編碼快樂!