用 rbenv 管理 ruby 版本
XiaO / 2021-11-25
安装 rbenv
brew update
brew install rbenv
将以下代码添加到 ~/.zshrc
文件中,补全 PATH 变量及初始化
eval "$(rbenv init -)"
export PATH="$HOME/.rbenv/bin:$PATH"
使用 rbenv
查看所有可安装的 ruby 版本
rbenv install --list
2.6.9
2.7.5
3.0.3
jruby-9.3.1.0
mruby-3.0.0
rbx-5.0
truffleruby-21.3.0
truffleruby+graalvm-21.3.0
安装及查看版本
rbenv install 3.0.3 # 安装 3.0.3 版本
rbenv versions # 列出所有安装的版本
rbenv version # 列出正在使用的版本
设置版本
rbenv global 3.0.3 # 默认全局使用 3.0.3
rbenv shell 3.0.3 # 当前的 shell 使用 3.0.3, 会设置一个 `RBENV_VERSION` 环境变量
rbenv local 2.6.9 # 当前目录使用 2.6.9, 会生成一个 `.rbenv-version` 文件
rbenv rehash # rbenv 为所有已安装的 Ruby 版本的所有命令(ruby、irb、rake、gem 等)创建垫片。这个过程被称为 rehash。每当安装一个新的 Ruby 版本或安装一个提供命令的 gem 时,运行 rbenv rehash 以确保任何新的命令都被 shimmed。
现在 rbenv 可自动执行 rehash
当前使用的 ruby 的路径与版本
which ruby
/Users/xxx/.rbenv/shims/ruby
ruby -v
ruby 3.0.3p157 (2021-11-24 revision 3fb7d2cadc) [x86_64-darwin19]
使用相应版本的 Ruby 中的 gem
命令,管理 jekyll
gem install bundler jekyll
此时安装的工具在相应版本的 ruby 文件夹中。譬如我们使用 3.0.3 版本的 ruby,使用命令 gem
安装的 jekyll
在 ~/.rbenv/versions/3.0.3/bin/jekyll
路径中。我们可以使用如下命令查看 gem 的环境配置:
gem env
RubyGems Environment:
- RUBYGEMS VERSION: 3.2.32
- RUBY VERSION: 3.0.3 (2021-11-24 patchlevel 157) [x86_64-darwin19]
- INSTALLATION DIRECTORY: ~/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0
- USER INSTALLATION DIRECTORY: ~/.gem/ruby/3.0.0
- RUBY EXECUTABLE: ~/.rbenv/versions/3.0.3/bin/ruby
- GIT EXECUTABLE: /usr/bin/git
- EXECUTABLE DIRECTORY: ~/.rbenv/versions/3.0.3/bin
- SPEC CACHE DIRECTORY: ~/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: ~/.rbenv/versions/3.0.3/etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-19
- GEM PATHS:
- ~/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0
- ~/.gem/ruby/3.0.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- ~/.rbenv/versions/3.0.3/bin
- /usr/local/Cellar/rbenv/1.2.0/libexec
- ~/.rbenv/shims
- ~/.rbenv/bin
- /usr/local/sbin
- ~/.pyenv/shims
- ~/.pyenv/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
- /Library/TeX/texbin
- /usr/local/MacGPG2/bin
- /opt/X11/bin
为了是系统其它软件也能调用该 jekyll,将 jekyll 软链接到 /usr/local/bin
本地文件夹中:
cd /usr/local/bin && ln -s ~/.rbenv/versions/3.0.3/bin/jekyll jekyll
另外,webrick is no longer a bundled gem in Ruby 3.0.
bundle add webrick