Ruby Ruby 2.0 on Mac OS X 10.9 Mavericks

song940 · 2013年10月06日 · 最后由 P233 回复于 2013年10月07日 · 6492 次阅读

之前 Mountain Lion( 10.8 ) 预装的 Ruby 版本为 1.8 , 然后我根据 Install Ruby 2.0 on Mac OS X without RVM 安装了 2.0 版本 , 世界似乎一直很美好~

升级 Mavericks ( 10.9 ) 后 , 系统自带了 2.0Ruby 但是系统自带的 Ruby 无法安装 Rails , 这个问题 见这里 .

按照这个解决之后就可以在 Mavericks 上正常使用 Ruby on Rails🍺 .


当然 , RVMrbenv 这种工具已经足够好了 , 不过我只是想提供另外一种思路来管理 Ruby 版本 .

还是继续用 rvm 吧,不然 ruby 2.X.X 发布的时候的时候你还指望 mavericks 能保持更新么

#1 楼 @ch3n 编译到 /System/Library/Frameworks/Ruby.framework/Versions/2.x 然后修改 /System/Library/Frameworks/Ruby.framework/Versions/Current 链接指向 2.x 就可以切换版本

#2 楼 @song940 这样做比 rvm 更加环保?

#3 楼 @lgn21st 我觉得是 ,

优点是:

  • 不用单独安装版本管理软件 , 修改各种环境变量
  • 多用户共享 , (这个是优点也是缺点)
  • 符合 OSX 系统的风格 , (尽管很多人不推荐使用系统的 Ruby )
  • 方便的版本切换 , 因为中间没有那么多的 花哨/机关 只是修改了链接指向

缺点:

  • 安装 Gem 需要权限 , 因为不是像 RVM 那样安装到个人用户下
  • 切换版本需要手动操作 , ( 其实也不是很麻烦 , 或者可以写个脚本切换 比如:./myrb.sh 2.0 )
  • 需要折腾 , 这个需要点动手能力

我只是觉得 RVM 让我困惑 , 怪异 , 可能是我不明白原理 .

这样做让我觉得和系统比较 亲密 , 至少我知道这中间发生了什么 , 而且能交给我来控制一切 .

#4 楼 @song940 我认为对于不知道中间发生了什么和不需要知道中间发生了什么的用户来说,rvm 更方便。

而且我认为,对于知道中间发生了什么的用户来说,rvm 也更加方便。

#4 楼 @song940

针对你提到的优点:

  1. 安装版本管理软件就为了管理多版本,甚至是一个版本的不同 gemset。修改环境变量并没有你想象中的那么“多”,像 rvm 其实就两句。

  2. 多用户共享,且不提优点或缺点,就说咱们使用的开发机器有多少是多用户共享的?而且其实 rvm / rbenv 是可以多用户共享使用的,具体看文档。

  3. 符合 OS X 的什么风格?这一点有些莫名其妙。就开发者而言 OS X 的风格就是 *nix 的风格,rvm / rbenv 之类的软件并没有违反之处。

  4. 版本切换怎么看都比手动的更方便,更重要的是一套方法可在多系统、多机器上通用,手动管理则会变得复杂。

实际上 rvm / rbenv 所做的事情并没有你想象中的那么复杂,使你和系统之间不够 亲密,它们都是开放源代码的项目,你完全可以看看它们做了哪些事情。而且它们能做到的事情也远比你现在能考虑到的要多,没有道理会让你觉得“事情变得更复杂”。

其实我想说的是,像 rvm / rbenv 这样的东西生来就是为了帮助开发者减少麻烦,节省时间的,我们何必重复造轮子呢?

貌似我现在根本没有切换版本的需求了,所以也不再使用 rvm 之类,直接 brew install ruby 完事。 项目 gem 用 bundle 进行管理

匿名 #10 2013年10月07日

还是 rvm / rbenv 保险

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