2010-05-26 82 views
12

我买了一台白色的Macbook,我必须在10个小时内参加一个会议,但是我遇到了很多问题。如何在OSX上安装Ruby on Rails 3?

首先,我想要Rails 3,所以我使用MacPorts来安装Ruby 1.8.7。它运行良好;) 然后,我想我应该安装Rails 3,但不,不!它说:

$ sudo gem install rails --pre 

ERROR: Error installing rails: 


      activesupport requires Ruby version >= 1.8.7. 

我该怎么办?我已经有1.8.7!

+0

荡。这是一个很大的Ruby/Rails 3问题。 – Matchu 2010-05-27 00:12:33

+0

如果您对RVM有进一步的问题,有人愿意在freenode的#rvm频道上全天候帮助:http://webchat.freenode.net/?channels=rvm。 – 2010-06-14 08:58:49

+1

@DJTriple威胁白色笔记本电脑的热度降低,软件运行速度加快。你永远不知道这是否与过热问题有关。 :) – 2010-12-14 15:05:01

回答

1

您可能安装了两种不同版本的Ruby。试试“gem env”或“sudo gem env”,看看它说你有哪个版本的Ruby。

如果您安装了两个,请删除旧的。如果一切都失败了,升级到1.9.x,我相信它仍然推荐用于Rails 3。

+0

它的确说1.8.6 ..我该如何摆脱它? – 2010-05-26 19:53:33

+0

我没有Mac,所以我不是100%确定的,但是如果你去的目录说它已经安装了,应该有一个你可以运行的卸载程序。 – 2010-05-26 19:57:23

+3

他应该__NOT__卸载1.8.6--这是Apple内置系统的一部分,并且某些软件可能会在那里出现。他可以通过使用'$ PATH'变量来理智和简单地管理不同的Rubies。 – Telemachus 2010-05-27 01:07:07

1

我强烈推荐使用RVM(Ruby版本管理器)来保持Rails 3与Rails 2分离。(Rails 2与Rails 3冲突的一个例子:当您转到命令行生成Rails应用程序时,它会生成Rails 2应用程序还是Rails 3应用程序?RVM允许您将它们分开)

另外,最新的Ruby 1.8.7可能不适用于Rails 3,因此您必须使用较早的修补程序级别(248为我工作)。详情如下:http://techiferous.com/2010/02/installing-rails-3-beta-with-rvm-and-ruby-1-8-7/

33

首先你需要安装RVM,然后是最新版本的Ruby。接下来,您将该版本的Ruby设置为默认值。最后,您将安装Rails b3。

安装RVM(http://rvm.beginrescueend.com/rvm/install/):

bash < <(curl http://rvm.beginrescueend.com/releases/rvm-install-head) 

安装最新的红宝石(http://rvm.beginrescueend.com/rubies/installing/):

rvm install ruby-head 

你可以检查你现在已经安装了该版本:

rvm list 

将最新版本的Ruby设置为默认值(替换'ruby-1.9.2-head “有需要的版本):

rvm ruby-1.9.2-head --default 

确保事情了一天,然后安装Rails的测试:

gem update --system 
gem install rails --pre 

您可能需要安装一些gem依赖之前Rails会安装。

+2

+1为我完美工作。 – Owen 2010-08-22 17:28:04

+0

感谢您的帖子。 – 2010-12-13 19:34:38

1

您应该使用rvm,正如其他人所说的那样管理多个Ruby和Ruby gems的安装。 (如果你这样做,花点时间仔细阅读rvm's documentation)。

但是,你应该也很容易弄清楚你的shell的默认版本是什么,以及为什么。这听起来像你的$PATH变量可能无法正确更新。 $PATH变量是什么决定其中 Ruby解释器或gem命令是第一次看到,如果你有多个安装(如你现在这样做)。MacPorts默认会将新的二进制文件安装到/opt/local/bin,并且它还应该更改您的$PATH,以便/opt/local/bin/usr/bin之前(这是Apple开箱即可使用的位置)。

我怀疑你这么做的时候sudo gem install,您使用/usr/bin/gem(这是/usr/bin/ruby而不是/opt/local/bin/gem(这将是安装程序MacPort的Ruby)的宝石安装程序。

检查的echo $PATHwhich ruby输出和which gem,看看发生了什么事情。

0

根据你的问题和你对一些答案的回答,这听起来像你没有使用MacPorts版本的Ruby。您应该确保/opt/local/bin位于$PATH之前,/usr/bin之前。另外,您应该通过MacPorts安装RubyGems(sudo port install rb-rubygems)并确保您使用MacPorts gem。然后使用MacPorts gem安装Rails。

0

你确实应该使用RVM,但因为没有人向你解释如何做到这一点没有RVM,在这里你去:

sudo gem install tzinfo builder memcache-client rack rack-test rack-mount \ 
    abstract erubis activesupport mime-types mail text-hyphen text-format \ 
    thor i18n rake bundler arel railties rails --prerelease --force 
+0

导轨3不再提前发布 – xaxxon 2011-07-19 05:31:57