无法从 osx yosemite 终端启动 ruby,在 rbenv 之前和之后,自制软件可以正常工作

Can't start ruby from osx yosemite terminal, before and after rbenv, homebrew works though

每次我在终端输入 ruby 并按下 Enter 时,它似乎永远挂起。这是默认 Yosemite 安装以及在我安装 rbenv、使用 Homebrew(工作正常)、使用“Ruby on Rails development setup for Mac OSX”后发生的情况。

我目前的 Ruby 版本是 2.2.2,ruby -v 可以,我在使用 OS X Mavericks 时没有遇到这个问题。

有没有其他人遇到过这个问题and/or找到了解决方案?我的google-fu好像不够强

当您在命令行输入 ruby 时,它应该是 "hang forever"。它在等你给它指令。您可以使用 CTRL+D 让它停止等待:

> ruby
puts 1 + 1
2

然后我做了 CTRL+D 并返回到命令行提示符。

相反,我们不会那样使用 Ruby。如果我们想交互使用它,我们使用Ruby自带的IRb。这是 "interactive" Ruby:

> irb
Welcome to IRB. You are using ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin13]. Have fun ;)
>> 1 + 1
2
>> 'foo'.squeeze('o')
"fo"

如果我们想要 运行 一个 Ruby 脚本,我们使用类似的东西:

ruby /path/to/script

和 Ruby 将加载并 运行 它。

我建议阅读一些 Ruby 教程并在尝试使用 Rails 之前了解该语言的工作原理。 Rails 使用深厚的 Ruby 魔法,Rails 的工作原理对您来说将是深不可测的,直到您更好地理解 Ruby 的使用方式、它的工作原理以及它能做什么。

如果您使用 rbenv 来管理您的 Ruby,那么当您输入 rbenv versions 时,您应该会看到它管理的 Rubies 列出:

rbenv versions
  system
  1.9.3-p551
* 2.2.2 (set by /Users/tinman/.rbenv/version)

如果不这样做,要么是 rbenv 不受 Ruby 控制,要么是您没有使用 rbenv 安装任何软件。 rbenv global system 将根据您的 PATH 告诉它使用您在系统中默认安装的任何内容。

rbenv 的文档和内置帮助解决了这个问题,所以如果问题仍然存在,那么您需要仔细检查您的安装和设置,因为我们看到的使用沙盒 Ruby 的问题中有 90% 是由于人们没有注意说明,或者使用了错误的说明,并且没有完成安装。