【问题标题】:Upgrading Mac Ruby through Homebrew (Mac OS 10.7)通过 Homebrew (Mac OS 10.7) 升级 Mac Ruby
【发布时间】:2013-02-23 01:38:30
【问题描述】:

我在设置 compy 486 以使用 Ruby 1.9.3 时遇到问题。我使用 _why 的说明 (http://poignant.guide/book/expansion-pak-1.html) 安装了自制软件,但是当我检查安装了哪个版本时,它仍然是 1.8.7。

据我了解,这是因为现在安装了两个版本的 ruby​​。 (见:How can I switch to ruby 1.9.3 installed using Homebrew?

见:

Last login: Fri Feb 22 17:20:40 on ttys000
MacBook-Air:~ andrew$ brew install ruby
Error: ruby-1.9.3-p385 already installed
To install this version, first `brew unlink ruby'
MacBook-Air:~ andrew$ ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin11.0]
MacBook-Air:~ andrew$ 

我读到我应该安装 Ruby 版本管理器,但是当我尝试时遇到问题。

MacBook-Air:~ andrew$ $ \curl -L https://get.rvm.io | bash -s stable --ruby
-bash: $: command not found

那么有没有一种简单的方法可以访问我的新版 ruby​​ 1.9.3,即使它默认不使用?

【问题讨论】:

  • 您的 RVM 安装程序命令应该是:curl -L https://get.rvm.io | bash -s stable --ruby(您在命令中添加了“$”;这只是表示命令提示符)因此出现了 $: command not found 错误。
  • 我没有意识到你可以在 Compy 486 上运行 OS X!

标签: ruby macos


【解决方案1】:

我建议你使用 rbenv (https://github.com/rbenv/rbenv)。

rbenv 比 RVM 更简单、更轻便,而且它对您的系统友好(RVM 会覆盖 CD 和 GEM 命令,这有点令人担忧)。

一旦你安装了 rbenv(我会使用自制软件,上面链接的 rbenv github 页面上的说明),你就可以做到这一点:

rbenv install 1.9.3-p392

请注意,由于 RVM 会覆盖基本系统命令,因此您不能同时安装 RVM 和 rbenv。

【讨论】:

  • 注意,安装rbenv后需要创建~/.rbenv/plugins并安装ruby-build:github.com/sstephenson/ruby-build
  • wiki 上的说明会引导您完成 homebrew 安装并包括安装 ruby​​-build 的命令
  • 好的,我卸载了 RVM,但最后一步遇到了问题。 --- unknown7c11be8d1064:~ andrew$ brew update 已经是最新的了。 unknown7c11be8d1064:~ andrew$ brew install rbenv Error: rbenv-0.4.0 already installed 但是,之后:正在下载 yaml-0.1.4.tar.gz... -> dqw8nmjcqpjn7.cloudfront.net/36c852831d02cf90508c29852361d01b正在安装 yaml-0.1.4... 构建失败.........配置:错误:在/var/folders/y7/hf8_898n6mz4rn1c2121qqd80000gp/T/ruby-build.20130223180104.8873/yaml-0.1.4': configure: error: C compiler cannot create executables See config.log'了解更多详情
  • 明确地说,我通过了:$ brew update $ brew install rbenv $ brew install ruby​​-build,但是当我使用“rbenv install 1.9.3-p392”时收到错误消息。跨度>
  • 你能把config.log的内容贴出来吗?
【解决方案2】:

即使在通过 Homebrew 安装当前版本后,您仍然获得系统默认 Ruby 的事实是 $PATH 定义的简单问题:OS X 的系统 Ruby 安装在 /usr/bin 中,而 Homebrew 安装其版本在 @987654323 @,默认情况下 /usr/bin 在您的$PATH 之后。

要获取新安装的 Ruby,请指定完整的二进制路径,即/usr/local/bin/ruby。如果您想将其设为默认值,您当然可以使用 Ruby 版本管理器(RVMrbenv 是最著名的),但只需更改您的 @ 987654327@ 将 /usr/local/bin 放在 /usr/bin 之前也可以解决问题。

【讨论】:

  • Homebrew 现在安装到/usr/local/Cellar/ruby/2.6.1/bin/ruby。现在可以通过在$PATH 环境变量声明中将/usr/local/Cellar/ruby/2.6.1/bin 放在首位来实现上述解决方案。
  • 两点说明:一,据我所知,Homebrew 一直将 Ruby 可执行文件安装在 /usr/local/bin 之外,ruby 发现有一个符号链接。二,将路径设置为我认为不可取的符号链接的来源,因为该路径取决于版本(2.6.1 位),因此每次 Homebrew 的 Ruby 更新时,您都必须更新您的 $PATH 定义 - 因此符号链接和我在答案中的建议。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 2022-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-05
相关资源
最近更新 更多