2009-10-03 94 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也很好。