我必须在本地运行一个需要Ruby 1.9.2(加上Mongo)的Rails(3.0.6)应用程序。我想将Ruby 1.9.2与现有的1.8.7一起安装,并且能够根据需要在它们之间进行交换。我更喜欢通过Macports等安装到usr / local。任何建议?我已经尝试过安装RVM,但事实证明这对OS X来说是一种痛苦,我宁愿避免这种情况。
是否有另一种运行多个Ruby版本的方法(也许是with a prefix like this)?我只需要为这个项目切换到1.9。或者有任何人对已知的OS X / RVM install issues有一个很好的解决方案吗?具体来说,在Tiger / 10.4上,bash不支持errtrace。
更新:使用新的RVM安装脚本解决:请参阅RVM on OS X 10.4 - possible?。
答案 0 :(得分:2)
RVM确实是最简单的解决方案,我强烈建议您先尝试解决这个问题。
唯一的建议是确保在之前将PATH变量配置为包含/ usr / local / bin 。在你的.profile或.login中(取决于你的shell),你应该把它放在底部,以防有任何其他行配置PATH,然后是Bourne shell系列:
export PATH="/usr/local/bin:$PATH
或C shell系列:
set path = (/usr/local/bin $PATH)
单独运行./configure应该将其安装到/usr/local
,但您可以明确说明
./configure --prefix=/usr/local
答案 1 :(得分:1)
从源安装Ruby,默认为/ usr / local / bin。根据需要调整路径,#!
行或/usr/local/bin/ruby source.rb
,以便在Apple的Ruby安装和您添加的Ruby安装之间切换。
您可以使用./configure --prefix=/...
强制使用新的基本目录,其中“...”是您想要的任何路径。同样,一旦安装了文件,您就可以使用上述方法之一调整执行Ruby。
请勿尝试删除Apple已安装的Ruby。它是用于它们的,不是为了我们的方便,Apple使用它来提供一些功能。弄乱或删除它可能会破坏事情,你可能暂时不会注意到。
RE:RVM,它确实是安装用户Ruby的首选方式。我有两个Mac机器,还有一些不同的Linux机箱,我唯一遇到的问题是防火墙后面有一台安全的机器,但是当它无法看到互联网时,我不能责怪RVM。而且,是的,我得到了很好的工作,我只需要将手动下载的Ruby存档插入~/.rvm/archives
目录。
如果您遇到问题并希望使用它,可能有助于临时剥离启动脚本或创建临时用户,并查看会发生什么。此外,我几次向他提问时,作者一直非常敏感和乐于助人。联系他:
If you still cannot find what an answer to your question, find me 'wayneeseguin' in #rvm on irc.freenode.net: http://webchat.freenode.net/?channels=rvm
答案 2 :(得分:0)
如果下载源代码并进行编译,默认情况下应安装到/ usr / local,或者
./configure --prefix=/usr/local
只是为了确定。
实际上,从源代码编译和安装ruby是确保你拥有最新版本的简单方法,特别是如果你使用git和github: