本文介绍了如何安装和配置rbenv和Ruby;
源代码:
安装和配置rbenv与Ruby
安装rbenv
rbenv 用来管理多个版本的 ruby 在用户目录的安装和使用,和 rvm 二选一使用;
本文介绍了 rbenv 的安装和使用,官方文档:
安装过程如下:
1 | mkdir -p ~/.rbenv |
需要注意的是:
ruby-build是必须要安装的(我在没安装之前安装一些其他版本的 Ruby 会报错!)
然后把下面的代码放到 ~/.bashrc 里:
1 | export PATH="$HOME/.rbenv/bin:$PATH" |
Mac 为
~/.bash_profile或者~/.zshrc;
然后重开一个终端就可以执行 rbenv 了;
rbenv使用
安装 Ruby
1 | rbenv install --list # 列出所有可安装的 ruby 版本 |
这里需要注意的是:
安装某些版本的Ruby时可能会报错,报错会有具体的提示,例如:
1
2
3 /usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.通过安装
libyaml可以解决该问题;以下是最受欢迎发行版的相应软件包:
Fedora
libyamlUbuntu和其他基于Debian的
libyaml-dev其他一些像CentOS
libyaml-devel并且还应安装以下组件,以避免将来出现类似问题:
1 ruby-devel libxml2 libxml2-devel libxslt libxslt-devel
列出版本
1 | rbenv versions # 列出安装的版本 |
设置版本
1 | rbenv global 1.9.3-p392 # 全局默认使用 1.9.3-p392 |
其他
1 | rbenv rehash # 每当切换 ruby 版本和执行 bundle install 之后必须执行这个命令 |
通过rbenv安装Ruby
查看可安装的 Ruby 版本:
1 | $ rbenv install -l |
安装某个版本:
1 | $ rbenv install 3.2.1 |
设置 Ruby 版本:
1 | $ rbenv global 3.2.1 |
查看:
1 | $ ruby -v |
配置和使用Gem
Gem 用来管理 Ruby 的库;
通常情况下,当安装一个 gem 库时,会生成他的文档,非常耗时;
添加下面的配置来避免:
1 | $ echo "gem: --no-document" > ~/.gemrc |
Bundler 用来管理项目的依赖库,安装 bundler:
1 | $ gem install bundler |
可以使用 gem env 来查看环境变量:
1 | $ gem env |
安装Rails
直接使用 gem 安装 Rails:
1 | $ gem install rails -v 7.0.4 |
查找版本:
1 gem search '^rails$' --all安装最新版:
1 gem install rails
安装完成后执行:
1 | $ rbenv rehash |
这是由于:
rbenv 通过创建一个 shim(中间层) 目录来工作,该目录指向当前启用的 Ruby 版本所使用的文件;
通过执行 rehash 子命令,可以确保每一次已安装的 Ruby 版本中在 rbenv 目录 shim 能匹配正确的 Ruby 命令;
因此,每次你安装了新的 Ruby 版本或者提供命令行命令的 Gem(比如 Rails),都应当执行 rbenv rehash!
1 | rbenv works by creating a directory of shims, which point to the files used by the Ruby version that’s currently enabled. Through the rehash sub-command, rbenv maintains shims in that directory to match every Ruby command across every installed version of Ruby on your server. Whenever you install a new version of Ruby or a gem that provides commands as Rails does, you should run the following: |
验证 Rails 安装:
1 | $ rails -v |
更新 rbenv
直接执行命令:
1 | cd ~/.rbenv |
即可!
卸载 Ruby 或 rbenv
卸载 Ruby 版本:
1 | rbenv uninstall 3.2.1 |
卸载 rbenv:
首先,删除配置中的下面两行:
1 | export PATH="$HOME/.rbenv/bin:$PATH" |
删除 rbenv:
1 | rm -rf `rbenv root` |
附录 rm -rf rbenv root
源代码:
参考文章:
- https://github.com/rbenv/rbenv
- https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-with-rbenv-on-ubuntu-22-04
- https://ruby-china.org/wiki/rbenv-guide
- https://www.codenong.com/12882190/