2010-09-06 159 views
14

试图在OSX 10.6上安装新的Rails 3版本。在带RVM的OSX上安装Rails 3

自购买以来从未接触过此机器上的Ruby或Rails。

我能够获得rvm并获得Ruby 1.9.2。安装。从那里,我卡住了。

我想:

rvmsudo gem install rails -v 3.0.0 
sudo gem install rails --pre 
sudo gem install rails 
sudo gem update rails 

而每一次我得到了相同的结果错误:

ERROR: While executing gem ... (Errno::ENOENT) 
    No such file or directory - /Users/kevin/.rvm/gems/[email protected]/cache/activesupport-3.0.0.gem 

如果我做宝石列表,它说当地的宝石并没有列出什么。

我已经阅读了一些演练,但说实话,他们都没有解决这个问题,它的那种让我气恼的东西。为什么这么难安装?如果有人能够帮助我实现它,我很乐意学习它。

我试图按照此:

http://eddorre.com/posts/installing-rails-3-beta-4-using-rvm

这:

http://hivelogic.com/articles/compiling-ruby-rubygems-and-rails-on-snow-leopard

这实际上是从ROR链接引导的网站。我是否缺少依赖关系?我如何让他们进入?

如果我做rails -v我得到:

rails -v 
/Library/Ruby/Site/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError) 
    from /Library/Ruby/Site/1.8/rubygems.rb:214:in `activate' 
    from /Library/Ruby/Site/1.8/rubygems.rb:1082:in `gem' 
    from /usr/bin/rails:18 
+0

你有什么版本的rubygems? ($ gem -v) – raidfive 2010-09-06 00:24:10

+0

RubyGems版本1.3.7 – Kevin 2010-09-06 00:27:20

回答

27

旧RVM的版本有可能会导致你的Ruby版本得到crosswired因为操作系统可以缓存为命令来执行路径(特别是错误如果你正在使用zsh)。关于这个问题,请看Yehuda Katz的详细文档mind blowing post

我怎么办今天上午:

rvm update && rvm reload # update rvm 
rvm gemset delete rails3 # delete old gemset 
rvm install 1.9.2 
rvm use 1.9.2 
rvm gemset create rails3 
rvm use [email protected] 
which ruby   # check to be sure the ruby interpretter is properly set to 1.9.2 
hash -r    # if ruby interpretter is not pointing to 1.9.2 
gem install rails 
which rails   # check to be sure we are using rvm version of rails 

注:在RVM的新版本,你将不得不使用rvm get stable代替rvm update

+0

谢谢!!!!!!!!这工作,只需要约10分钟! – Kevin 2010-09-06 15:44:02

+0

谢谢你也为我工作 – 2010-09-06 16:37:43

+0

即使这样做,我每次启动终端时都必须运行rvm 1.9.2和rvm [email protected]。有没有办法用1.9.2和Rails替换Ruby的核心OSX版本? – Kevin 2010-09-06 18:21:09

2

你并不需要安装RVM宝石时使用sudo。如果按照指示here安装RVM,您应该可以只使用rvm use 1.9.2; gem install rails --version 3.0.0

+0

我会试试看。它说没有找到1.9.2-p0,并执行rvm install ruby​​-1.9.2-p0。现在运行。 – Kevin 2010-09-06 00:54:36

+1

完全相同的错误。我用我从rails -v得到的错误更新了我的问题。 – Kevin 2010-09-06 01:08:42

+0

正在运行的Rails命令的路径位于/ Library中。如果RVM安装正确,它将位于/Users/user/.rvm/中。我怀疑你没有将该行添加到你的.profile文件,或者其他出错。我建议你完全摆脱RVM(rm -rf〜/ .rvm)以及其他任何已安装的ruby,并尝试按照指示安装agaon。 – AboutRuby 2010-09-06 01:29:05

2

您不必指定版本3.如果您有1.9.2-p0,当您使用rvm gem install rails 3时,它将自动获得rails 3。注意:没有sudo。我想当你使用sudo时,它会使用系统安装的ruby。如果您认为您需要sudo,请使用rvmsudo

事情可能会变得混乱,因为你是根据轨道的前稳定版本,其中涉及许多其他事情,遵循指南。如果你喜欢,你可以尝试卸载rvm并重新做一切。这确实不是那么困难。

请记住,你需要1.9.2,1.9.1不行。

curl -O http://rvm.beginrescueend.com/releases/rvm-install-head 
sh rvm-install-head 
rvm install 1.9.2-p0 

# also remember to edit your bash profile and add the required lines 

# verify that 1.9.2-p0 shows up there 
rvm list 

# makes it so you're using it, and sets it as the default 
rvm use 1.9.2-p0 --default 

# verify this happened. should have => 1.9.2-p0 in the list 
rvm list 

# verify the version 
ruby --version 

# should automatically get 3.0 
# `rvm gem install` installs it for every single installed ruby version 
# in my experience 
gem install rails 

当你做了rvm gem install,我认为它会安装它已与RVM(至少它发生在我的经验)注册的每一个Ruby版本,所以我的假设是,它试图强制安装导轨3一个较旧的红宝石安装,它缺少所需的宝石。

放轻松,不需要很多命令。如果你发现自己不得不做'黑客'或变通办法,那么你做错了。谢天谢地,重新开始很容易。要删除rvm,只需执行rm -rfv ~/.rvm以及rm ~/.rvmrc(如果存在)。

让我知道它是怎么回事。

+0

如何卸载RVM? – Kevin 2010-09-06 01:26:49

+0

简单的rm -rfv〜/ .rvm :)也可能想删除〜/ .rvmrc,如果它存在 – 2010-09-06 01:29:05

+0

陷阱。那就是诀窍。 – Kevin 2010-09-06 01:34:24

1

我遇到了同样的问题(尝试卸载和安装等Blaenk建议的)由韦恩E. Seguin的([email protected])[http://rvm.beginrescueend.com/]

RVM -v RVM 1.0.2红宝石-v 红宝石1.9.2p0(2010-08-18修订29036)x86_64的-darwin10.4.0]

创业板安装导轨 错误:在执行宝石...(错误:: ENOENT) 没有这样的文件或目录 - /Users/pragnesh/.rvm/gems/ruby-1.9.2-p0 /cache/activesupport-3.0.0.gem

+0

无论我如何安装,这都是我最终得到的结果。 – Kevin 2010-09-06 04:38:55

2

通过这个自己工作作为新用户的Mac OSX等等等等

似乎是一个缓存目录没有得到制作,尝试 的mkdir $ HOME/.rvm /宝石/高速缓存

到目前为止之后好......

+0

也适合我。 – 2010-09-06 08:25:54

1

做 “RVM更新& & RVM重装” 后rvm已经更新到1.04(而不是我昨天通过推荐的GIT安装得到的1.02)?它很好地工作。

+0

是的。这可能需要在ROR指南网站上提及。我有一种感觉,当我们说话时,很多人都在解决同样的问题。 – Kevin 2010-09-07 12:46:08

0

这样做的RVM更新后,对我重装工作:

rm -rf .bundle && bundle install 
1

该解决方案为我工作,有几个tweeks:

而不是使用rvm update的,我有使用rvm rubygems。然后,在完成后2的所有工作后,我必须执行bundle install,并且我输入rvm use [email protected]到我的.rvmrc文件。现在,即使在启动新的外壳或终端会话时,现在一切都像魅力一样。我使用的命令的完整列表是:

>> NEW >> rvm rubygems 
rvm reload     # update rvm 
rvm gemset delete rails3 # delete old gemset 
rvm install 1.9.2 
rvm use 1.9.2 
rvm gemset create rails3 
rvm use [email protected] 
which ruby     # check to be sure the ruby interpretter is properly set to 1.9.2 
>> DID NOT NEED >> hash -r # if ruby interpretter is not pointing to 1.9.2 
gem install rails 
which rails    # check to be sure we are using rvm version of rails 
>> NEW >> bundle install 
>> NEW >> cat 'rvm use [email protected]' > .rvmrc 
+0

我得到数据库文件/Users/jp/.rvm/config/packages不存在 – johndpope 2012-05-10 05:20:27