新手问题 全新 10.8 系统无法使用 RVM 安装 Ruby on Rails 环境 (已解决)

046569 · 2013年04月17日 · 最后由 046569 回复于 2013年04月17日 · 7260 次阅读

背景: 向 MM 传道 Mac 下用 Ruby on Rails 多方便,结果 MM 换了 Mac 后掉 RVM 坑里迄今没爬出来(我也掉进去了)。在 RVM 那发了 issue 目测过了 4 天还未解决。详情请移步 https://github.com/wayneeseguin/rvm/issues/1797 经过反复测试发现 10.7 -->10.8 的系统都正常,而全新的 10.8 无法安装。 求拉一把,一个坑里两条人命啊

我没发觉有什么难度啊....

我的步骤是: 装 Xcode & command line tools,Homebrew,rvm & ruby & rails

装 rvm 时我是一条命令连同 ruby 一起装了

curl -L https://get.rvm.io | bash -s stable --ruby

用 rbenv 可以让你出坑

看看 RVM 的版本,如果是 1.19 以上的话,可以试试降级到 1.18 1.19 安装 ruby-2.0.0 有问题

@AlphaLiu 你的这个我肯定是试过了嘛,rvm 官网必须得爬啊 @ywjno 这个也考虑过,但因为一直都是在用 rvm,如果更换涉及到的机器多些,所以想看看能否解决,实在不行就得换过去了。

#3 楼 @javaite 降级过 1.18.5,Ruby 没问题,只是 Rubygenms 不能用。

#5 楼 @046569 so 上看到一个,不知道能不能解决你的问题。试试吧。 http://stackoverflow.com/questions/9434002/how-to-solve-ruby-installation-is-missing-psych-error

我看到你是用 rvm pkg install libyaml 去装 libyaml 的,但 rvm pkg 的方式好像现在都不推荐了。

#6 楼 @AlphaLiu 这个我也搜过,无效。 😢

#7 楼 @046569 我一般出问题,都直接删掉.rvm 重装了。没试过 reinstall

#8 楼 @AlphaLiu 让 rvm 自爆也试过了,还是不行。

#9 楼 @046569 那我就完全不懂了... 我之前也是全新的 10.8 装的,没有什么疑难问题

#10 楼 @AlphaLiu 你之前的环境是怎样的? OS X 10.8.3? rvm 版本还记得么?

我当时是换了 SSD,所以重新装了 OSX 10.8.0,没有装什么更新。RVM 版本还真不记得,估计不会太旧,因为是一个月前的事,1.19 以上的。按照步骤,一切都很顺利,ruby 是 2.0.0p0

#12 楼 @AlphaLiu 不行我就重置下试试,工程貌似有点大. 要是一个月前估计是 1.18

#13 楼 @046569 rvm 1.18.21 (stable) 10.8.3 ruby 2.0.0 gem 2.0.0 无问题

如果决心要重装整个 mac os,可以试试不要装 xcode,直接用 homebrew 装 apple-gcc42,再装最新的 rvm 自动安装依赖库 感觉还是用 GCC 编译安装东西比较顺利 p.s:目前用过的系统就是 debian 最顺心

homebrew 说需要依赖 xcode。。。

#14 楼 @zj0713001 Could not download 'https://github.com/wayneeseguin/rvm/archive/1.8.21.tar.gz'. curl returned status '22'. 版本号没问题么 #15 楼 @javaite 同感,服务器跑 debian 没这么多乱七八糟的事。

#17 楼 @046569 rvm 1.18.21 (stable) by Wayne E. Seguin [email protected], Michal Papis [email protected] [https://rvm.io/]

手动装一下依赖呢

#17 楼 @046569 brew install autoconf automake apple-gcc42 libtool pkg-config openssl readline libyaml sqlite libxml2 libxslt libksba

问题解决了么?看起来问题出在 libyaml 上面,有没有试过重装 libyaml

#19 楼 @zj0713001 奇怪,安装说找不到 1.8.21

autoconf
automake
libgpg-error
libksba
libtool
libxml2
libxslt
libyaml
openssl
pkg-config
readline
sqlite 

依赖手动装过,没效果。

#20 楼 @chankaward 我感觉我没找对方向,在瞎折腾。

#21 楼 @lgn21st 重装libyaml试过,刚升级了 XCode 到 4.6.2 再编译似乎安装"成功"了。 可是在其它目录执行命令就没问题,切换到原有项目目录就出错,可能是什么原因造成的呢?新建项目是没问题的。

MacBook:~ lianlian$ rails -v
Rails 3.2.13
MacBook:~ lianlian$ cd Desktop/oldsite/
MacBook:oldsite lianlian$ rails -v
/Users/lianlian/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find railties (>= 0) amongst [] (Gem::LoadError)
    from /Users/lianlian/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
    from /Users/lianlian/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems.rb:1231:in `gem'
    from /Users/lianlian/.rvm/gems/ruby-1.9.3-p392/bin/rails:18:in `<main>'
    from /Users/lianlian/.rvm/gems/ruby-1.9.3-p392/bin/ruby_noexec_wrapper:14:in `eval'
    from /Users/lianlian/.rvm/gems/ruby-1.9.3-p392/bin/ruby_noexec_wrapper:14:in `<main>'

#22 楼 @046569 那就好奇怪了 我同事也是前几天新装的 10.8 配置的环境 没出现这样的蛋疼结果啊

#22 楼 @046569 你试试看 bundle exec rails -v

#23 楼 @zj0713001 我也觉得蛋碎啊,用 RVM 一直挺好的

#24 楼 @lgn21st

Could not find rake-10.0.4 in any of the sources
Run `bundle install` to install missing gems.

执行了bundle install --verbose后,可以看到新建的项目使用的 gems 是在~/.rvm/gems/下,而原有项目是在oldsite/rake\r下,看到那个奇怪的rake\r文件夹了么

#25 楼 @046569 ~/.rvm/gems/ 是对的,现在是不是一切都正常了?

#26 楼 @lgn21st 新建的项目正常,老项目没法用。执行完bundle install照样说找不到组件。

#27 楼 @046569 我怀疑是网络问题,翻墙了么?

~ $ gem list rake
*** LOCAL GEMS ***
rake (10.0.4, 10.0.3, 0.9.2.2, 0.8.7)

gem 源用的淘宝的镜像,我曾经也怀疑是网络问题,开了代理貌似没效果。

~$ gem list rake
*** LOCAL GEMS ***
rake (10.0.4, 0.9.2.2)

XCode 4.6.1 是有点问题,所以现在的 brew 都要求 4.6.2

感谢楼上所有的兄弟,历数下我掉的坑: XCode 4.6.1 编译会出现奇怪的错误,升级到 4.6.2 会解决。 功夫网会干扰 openssl 的安装,一定要翻过去。 不要从 Windows 拷贝文件过来,而是应该直接git clone,这次比较大的一个问题就是 MM 从旧机器上拷贝了文件,里面有一个路径错误。 ··· $ cat oldsite/.bundle/config BUNDLE_PATH: rake\r ··· Windows 下的默认配置会让 bundle 跳过·assets group·的安装 无论是rbenv还是rvm,依赖都很多,要仔细排查。其它太没营养的就不说了,总的来说就是:主动往坑里跳,谁也拦不住你。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号