mac 上 ruby 版本的奇怪问题

Weird issue with ruby version on mac

我正在尝试创建一个 rails 应用程序但失败了:

$ rails new blog

    Rails 6 requires Ruby 2.5.0 or newer.

    You're running:
      ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]

    Please upgrade to Ruby 2.5.0 or newer to continue.

但是,根据我的系统,我的ruby版本是2.6.3:

$ ruby --version
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin18]

$ which ruby
/Users/flaab/.rbenv/shims/ruby

Rbenv 已激活 2.6.5。

$ rbenv versions
  system
* 2.6.5 (set by /Users/flaab/.ruby-version)
  mruby-dev

但是它也认错了。

$ which -a ruby
/Users/flaab/.rbenv/shims/ruby
/usr/bin/ruby

我的 gem 环境是...

flaab@MBP-de-Arturo ~ $ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 3.0.3
  - RUBY VERSION: 2.6.5 (2019-10-01 patchlevel 114) [x86_64-darwin18]
  - INSTALLATION DIRECTORY: /Users/flaab/.gem
  - USER INSTALLATION DIRECTORY: /Users/flaab/.gem/ruby/2.6.0
  - RUBY EXECUTABLE: /Users/flaab/.rbenv/versions/2.6.5/bin/ruby
  - GIT EXECUTABLE: /usr/bin/git
  - EXECUTABLE DIRECTORY: /Users/flaab/.gem/bin
  - SPEC CACHE DIRECTORY: /Users/flaab/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Users/flaab/.rbenv/versions/2.6.5/etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-18
  - GEM PATHS:
     - /Users/flaab/.gem
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - "echo \"gem" => "--no-document\" > ~/.gemrc"
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /Users/flaab/.rbenv/versions/2.6.5/bin
     - /opt/local/libexec/rbenv
     - /Users/flaab/.rbenv/shims
     - /usr/local/bin
     - /opt/local/bin
     - /opt/local/sbin
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /Users/flaab/bin
     - /Users/flaab/.rbenv/shims
     - /sw/bin
     - /Users/flaab/.local/lib/npm/bin
     - /Users/flaab/.composer/vendor/bin

如何让gem使用上述ruby的2.6.5版本?

提前致谢

运行 rbenv global 2.5.0 设置你的全局 ruby 或在 app 目录中创建一个 .ruby-version 文件来指示 rbenv 使用特定版本。

echo "2.5.0" >> .ruby-version 然后重试。

Documentation

您是否已将此添加到您的 .bash_profile

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

如果没有将以上行添加到文件底部,请关闭并重新启动您的终端。

您的 EXECUTABLE DIRECTORY 似乎设置不正确。尝试以下命令:

rbenv shell 2.6.5

此外,请确保您在一个新的空目录中并执行

rbenv local 2.6.5

然后再次尝试 rails 命令

rails new blog

无济于事。放弃 mac 并回到 debian 上进行开发。没问题。