2009-10-03 45 views
0

我已經開發了一個在Ruby 1.8.6上開發的應用程序,並使用Rails 2.0.2在Snow Leopard上遇到問題後出現問題:Snow Leopard的Rails 2.0.2應用程序?

-Default Snow Leopard Ruby 1.8.7 64位和32位運行的Rails 2.0.2
-rake任務沒有看到ZenTest
-openssl頭錯配在編譯時的32位的Ruby 1.8.6從源
-image_science顯然需要的Xcode開發工具10.4
-MacPorts通過安裝64位代碼默認(顯然)

我想我已經辭去了nee的想法ding Ruby 1.8.6 32位,但它似乎與Snow Leopard中底層的64位系統C庫保持衝突。在我舉手回覆Leopard之前的任何提示?

Kimball

回答

0

開箱紅寶石企業1.8.6-20090610地方,並與安裝:

$ ./installer --auto=~/ree186 --configure-arg 'ARCH_FLAG="-arch i386"' 

仔細檢查你的安裝紅寶石:

$ file ./ree186/bin/ruby 
./ree186/bin/ruby: Mach-O executable i386 

一個問題,我不得不同時仔細檢查這工作是RVM已經改變了我的寶石家安裝程序沒有預料到的東西。只需要尋找一下,如果你一直在玩各種安裝多個版本的紅寶石的方法。在這樣的特殊情況下,它工作得很好。

至於ImageMagick的,如果你使用的MacPorts,請確保您使用的「通用」變種安裝:

$ sudo port install ImageMagick +universal 

實際上,它會在一般顯著痛苦少,如果你只是應付增加的編譯時間並安裝在macports中通用的所有東西。在/opt/local/etc/macports/variants.conf文件中創建一個文件,其中包含「+ universal」以及要設置的任何其他變體標誌默認值。打開/opt/local/etc/macports/macports.conf並確保'universal_archs'設置爲'x86_64 i386'。設置完成後,請確保通過macports安裝您需要的所有內容,以避免額外的麻煩。

如果複雜程度和測試覆蓋率都很理智,還有很多理由嘗試將rails升級到2.3.4。

+0

所以我早些時候與openssl發生衝突,所以我卸載了違規的openssl安裝。 REE安裝程序注意到,使用MacPorts安裝openssl並從源代碼編譯顯示「文件不是必需的體系結構」錯誤,涉及我經常看到的.dylib和.darwin文件。並且改變了MacPort配置,但是當我嘗試sudo port install ruby​​186時看到相同的體系結構錯誤。感謝您的幫助,但是我已經回到了Leopard。升級導軌是一個很好的選擇,但我會在再次嘗試Snow Leopard之前這樣做。 – kbighorse 2009-10-05 18:54:07

0

您是否嘗試過單獨安裝獨立於Snow Leopard安裝的Ruby 1.8.6?如果你想能夠輕鬆地來回切換,你可以看看ruby_switcher.sh。測試Ruby 1.9也很好。