2011-02-17 42 views
3

哇,更新,解決了!我在gemfiles中添加了一行,告訴它我的Mac版nokogiri的範圍,就像它在這裏所說:Make bundler use different gems for different platforms,如果你搜索Stefan。它似乎從Windows到Mac的交叉發展是罪魁禍首。遷移時出現Sqlite3錯誤,bundle安裝時出現nokogiri錯誤,遷移到Rails3之後出現gem衝突並進行一些合併。 (Mac)

學習寶石與Rails3中一個MAC是如何工作的,因爲我在sqlite3的/引入nokogiri/GEM /使用Ruby & Rails3中(在我的MAC)捆綁問題...

剛剛升級到後啓動的問題Rails 3.0.4和Ruby 1.9.1。此外,我的隊友在Windows中編碼,我在Mac上。我的朋友剛剛將他的項目升級到了Rails3,而在他的Windows PC上,現在我已經用Git將它克隆到我的Mac上了,並且正在得到這些錯誤。

當我做「耙分貝:遷移」在我們的項目中,我得到這個錯誤在紅殼:

*您請求: sqlite3的> = 0

束目前有sqlite3鎖定在1.3.3。 嘗試運行bundle update sqlite3 *

我不知道這意味着什麼或如何解決它。

下面是在我的Gemfile未註釋:

寶石 '軌道', '3.0.4'

寶石 'sqlite3的'

它有很多註釋,如:

( #寶石 '引入nokogiri'

(#寶石 '的sqlite3-紅寶石',:需要=> 'sqlite3的'

我Gemfile.lock的有這些,其中包括:

nokogiri (1.4.4.1-x86-mingw32) 

sqlite3 (1.3.3-x86-mingw32) 

但麻煩......

我想我可以做「sudo的港口安裝sqlite3的」,即完成解決這個問題。我也做了「包更新sqlite3」。這似乎完成,但隨後帶領我到另一個錯誤:

***您請求: 引入nokogiri〜> 1.4.2

目前已1.4.4.1鎖定引入nokogiri束。 嘗試運行bundle update nokogiri ***

當我做「捆綁更新nokogiri」,它似乎失敗,並再次給我同樣的錯誤。這是我無法完成的一步。

在我Gemfile.lock的很多事情我確實有這些: 引入nokogiri(1.4.4.1 86的mingw32) sqlite3的(1.3.3 86的mingw32)

而這些都是什麼似乎導致錯誤。我試圖改變(〜> 1.0.0.0)等,看看是否有一個不太具體的數字會起作用,但不是。

我也試過這個特定的引入nokogiri安裝: sudo的港口安裝的libxml2的libxslt sudo的創業板安裝引入nokogiri

但即使在這之後,我看到: **執行分貝:滴 耙中止! undefined方法[]' for nil:NilClass /Users/Mike/Desktop/MikeFiles/betheduke2/BeTheDuke/**nokogiri**/ruby/1.9.1/gems/activerecord-3.0.4/lib/active_record/railties/databases.rake:126:in在'

塊(2級)救援不知道這是什麼意思。

我也是爲了能夠安裝sqlite3的,使用「sudo的港口安裝sqlite3的http://www.macports.org/install.php Unable to install sqlite3-ruby gem

這似乎成功地經過了廣泛的sqlite3的安裝安裝MacPorts的,但現在這一切完成後,當我嘗試耙db:migrate時,我仍然得到sqlite3錯誤的序列。然後我做捆綁安裝,看似成功,然後我得到相同的舊nokogiri錯誤重複,直到我停下來。

我也看到這個論壇,https://github.com/tenderlove/nokogiri/issues/387。這表明這是一個「捆綁商問題」或「寶石版本不一致」,但我不確定是否屬於這種情況,我應該怎麼做。編輯Gemfile?我應該改變我的版本嗎?

奇怪的是,在我的「寶石名單」中,我有「sqlite3-ruby(1.2.5)」,但不是nokogiri。然後,當我關閉Terminal並重新打開並重新運行「rake db:migrate」時,它會首先啓動sqlite3錯誤,然後當我運行bundle install時,它會返回到nokogiri錯誤。

這疊後說也許是因爲有我的電腦上的sqlite3的太多的版本:Sqlite3 causing problems for bundle install and gem install

以下是我有: $其中-a sqlite3的 的/ opt/local/bin目錄/ sqlite3的 /USR /斌/ sqlite3的

$其中-a寶石 /Users/Mike/.rvm/rubies/ruby-1.9.2-p136/bin/gem /Users/Mike/.rvm/bin/gem /usr/bin/gem

$ which -a ruby /Users/Mike/.rvm/rubies/ruby-1.9.2-p136/bin/ruby /Users/Mike/.rvm/bin/ruby 在/ usr/bin中/紅寶石

你覺得這些重複互相沖突?如果是這樣,我應該輸入什麼來刪除正確的?

任何人都知道該怎麼辦?在升級到Rails3時它是一個「陷阱」嗎?這是在合併兩個git分支之後發生的(一個是在舊的Ruby/Rails2組合中開發的,另一個是在Ruby1.9.1/Rails3.0.4中開發的)。我們得到了很多合併錯誤,即使沒有舊版本的兩個已被觸動(我們認爲這是一個線結束問題),但不知道。也許關於合併&遷移的東西正在影響這個寶石?

此外,「如何安裝sqlite3的」是有幫助的:Problem installing sqlite3-ruby!

+1

偉大的你自己解決了這個問題,但考慮通過回答你自己的問題使解決方案更清晰。 – dmonopoly 2011-09-21 03:37:20

回答

0

我沒有真正回答這個問題,只是讓有被複制+答案粘貼有機磷自己的答案,他編輯成他的問題:

Wow, Update, solved!! I added a line into the gemfiles to tell it the range for my mac version of nokogiri, like it says here: Make bundler use different gems for different platforms, if you search for Stefan. It appears crossing from windows to mac development was the culprit.

相關問題