【问题标题】:Ruby version not same as installed versionRuby 版本与安装版本不同
【发布时间】:2020-07-16 12:33:52
【问题描述】:

我正在尝试在 MAC Mojave 上的 Rails 上安装 Ruby

$ brew install ruby
Warning: ruby 2.7.1 is already installed and up-to-date
To reinstall 2.7.1, run `brew reinstall ruby`

这表明我正在运行 ruby​​ 2.7.1

但是当我检查我得到的版本时,

$ ruby --version
ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]

这告诉我我正在使用 Ruby 2.3.7

我不明白

要运行 rails 我显然需要 >= 2.4.4,

$ sudo gem install rails
.....................
ERROR:  Error installing rails:
    zeitwerk requires Ruby version >= 2.4.4.

$ which ruby
/usr/local/opt/ruby/bin/ruby

所以在我获得至少 2.4.4 的 ruby​​ 版本之前,我无法运行 rails。

更新-----

如下在MAC上安装RVM

$ brew install gpg
$ curl -L https://get.rvm.io | bash -s stable --autolibs=enabled --ruby
$ ruby -v
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin18]

这些说明来自: https://null-byte.wonderhowto.com/how-to/mac-for-hackers-install-rvm-maintain-ruby-environments-macos-0174401/

然后我安装导轨,

$ sudo gem install rails
Successfully installed rails-6.0.2.2
Parsing documentation for rails-6.0.2.2
Done installing documentation for rails after 0 seconds
1 gem installed

所以我尝试创建一个 Rails 项目,

$ rails new blah
Rails is not currently installed on this system. To get the latest version, simply type:
$ sudo gem install rails
You can then rerun your "rails" command.

那里发生了什么。我似乎已经成功安装了 rails 但无法创建 rails 项目。

任何帮助将不胜感激,

谢谢

【问题讨论】:

  • 我怀疑已添加到您的路径/bashrc 文件中的 ruby​​ 是 2.3.7 ruby​​。另一个不在 path/bashrc 文件中的安装是最新的 2.7.1 版本。
  • 我建议运行brew uninstall ruby,然后重新安装。此外,在安装它时,请注意它的安装位置。
  • 完成后,我可以引导您完成将新的 ruby​​ 安装添加到 ~/bashrc 文件
  • 我进行了一些挖掘,结果发现苹果在 usr/bin/ruby 中安装了 ruby​​,他们大概将其用于操作系统中的内部目的。请参阅此答案以更好地了解正在发生的事情stackoverflow.com/a/5214030/13206920

标签: ruby-on-rails ruby version


【解决方案1】:

此命令brew install ruby 的输出并未告诉您您正在运行 ruby​​ 2.7.1。这只是说您已经为 brew 安装了 ruby​​ 2.7.1。但是您可以通过其他方式安装其他 ruby​​ 版本。当你这样做时

ruby -v

ruby 可执行文件在您的环境变量PATH 中列出的路径中按顺序查找。您可以使用

查看这些路径
echo $PATH

因此,管理不同版本的 ruby​​ 很困难,因此存在版本管理器。建议你安装rvm

【讨论】:

  • 谢谢,我只想要一个系统范围的 Ruby 版本,我不想管理不同的版本
  • 那么有两种方法:为您的 ruby​​ 可执行文件 2.7.1 指定整个路径,或者编辑您的路径变量以在系统路径之前拥有该版本路径
  • 我仍然建议使用版本管理器,因为即使您只想要一个版本,您的系统也可能已经有了您想要或不想要的版本
  • 不客气。很抱歉,这与您的预期不符
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-01-10
  • 2020-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多