iT邦幫忙

3

如果你用Virtualbox,如果你也碰到rubygem發生錯誤

**前陣子在Ubuntu想要升級Rails的版本失敗,於是想說重裝可以吧,就打下這行指令:

sudo gem install rails**

但系統卻無情地回報給我

ERROR: could not find gem rails locally or in a repository

即使我把gem從遠端抓回到local,想在本地端安裝,一樣失敗。

而且,查了一下rubygem裡倒底有什麼時

gem list
*** LOCAL GEMS ***

居然空空如也??

我是鬼打牆了嗎?查了一下source list也沒問題,而且這個升級動作,前陣子才在另一台機器上做過,究竟是怎麼一回事呢?
經過一連串的Google和偵錯動作,最後懷疑是網路的問題,而且是出在VirtualBox身上,因為之前可以成功升級時,是在Host機器上,後來連兩個虛擬的Linux都有這個問題。

最後,靈機一動,把VirtualBox的網路卡從NAT模式改成Bridge模式,居然就試成功了。

Rails成功地升到2.3.5了,淚光閃閃~

老實說,我對網路原理沒那麼熟,也不知道為什麼改成Bridge就行了,但是可以work,所以就記下來,以後如果有相同問題的苦主,可以免去我花的那些時間。

最後,請站上邦友們,如果有人知道這是怎麼一回事的話,還請指點一二


2 則留言

0
fillano
iT邦超人 1 級 ‧ 2010-03-23 16:26:21

也許可以看一下他的online help,雖然是英文的。裡面對於他的NAT模式有比較詳細的解釋,另外第九章還有講到一些NAT模式的進階設定,也許可以參考。

NAT模式的網路要透過VirtualBox本身提供的一個router出去,不知道這中間是否有什麼問題產生。

網路上有一些討論在防火牆/proxy之後使用ruby gem的方法,也許也可以參考,不過VirtualBox的NAT好像並不是一個proxy。

fillano iT邦超人 1 級 ‧ 2010-03-24 14:44:11 檢舉

不過你的問題我測不出來,無法再現...我猜twtw說的可能性比較大

0
逮丸逮丸
iT邦大師 1 級 ‧ 2010-03-24 14:16:37

前陣子在Ubuntu想要升級Rails的版本失敗,於是想說重裝可以吧

所以原來就曾有 rails ?
如果是這樣的話,有關 gem list 為何會是空的?
看是不是跟:[RoR] Rails 環境建置及更新問題 上的情況一樣?
是否原來ubuntu系統上的 rubygems 版本,曾裝過一些 gems,
之後若更新 rubygems 的話,
會造成之前的 gems 都不見了的狀況。
rubygems 從 1.2.x -> 1.3.x 之前裝的gems會不見
1.3.x -> 1.3.x 應是不受影響。

我要留言

立即登入留言