2010-12-14 21 views
1

我正要開始我的第一個Rails 3應用程序,並認爲我會升級到最新版本的紅寶石之前,我做了,紅寶石未能正確做出。更新Ruby通過RVM的問題,似乎是一個問題libxml

我使用的是32位籽粒雪豹的那一刻,每一次我嘗試和運行1.9.2無論是通過的ReadLine或SSL我仍然得到以下錯誤:

ld: warning: in ../../libruby.dylib, file was built for unsupported file format which is not the architecture being linked (i386) 
ld: in /Developer/SDKs/MacOSX10.6.sdk/usr/local/lib/libxml2.2.dylib, file was built for unsupported file format which is not the architecture being linked (i386) 
collect2: ld returned 1 exit status 
make[1]: *** [../../.ext/i386-darwin10.5.0/tcltklib.bundle] Error 1 

我嘗試使用64核心使用這其中作爲指導http://www.markhneedham.com/blog/2010/07/08/installing-ruby-1-9-2-with-rvm-on-snow-leopard/但後來我收到類似的消息說libxml1.dylib失敗,因爲它沒有設置爲64位。

有沒有人有任何想法?它的駕駛我堅果...

+0

現在收到此錯誤: - LD:在/usr/local/lib/libxslt.1.dylib,文件是專爲i386的這是不被連接的架構下(x86_64) – 2010-12-14 14:27:29

回答

0

您需要確保您的Ruby是64位的,並且本機gem驅動程序與它匹配。 ruby -v在64位雪豹應顯示:

ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.5.0] 

你的寶石會抱怨架構,返回i386指紋時存在不匹配。爲了解決這個問題,你可以嘗試:

gem pristine --all 

應該遍歷所有gem並從乾淨的緩存版本重新加載它們。在這個過程中,應該重建任何本地驅動器。

1

確定具有相同問題,因爲我的人,我建議將64位籽粒 - 如果你不知道如何去here

我會聽從這個優秀blog post

除了更新libxml,我還需要更新libxlst(可以從同一個源代碼下載)來完成這篇文章之外唯一需要做的事情。一旦我運行安裝檢查它指向正確的內核,然後一切都很好地更新。

希望能幫助有同樣問題的人!

+0

您參考爲我工作的博客文章以及。我使用'brew install libxml2'和'brew link libxml2'來獲取64位的libxml2,然後爲libxslt做了同樣的一組命令。 --readline部分也很重要,因爲我使用brew中的readline。 – 2011-10-19 04:53:47

+0

那篇博文很有幫助。謝謝! – 2013-02-01 15:14:10