关于ruby:RVM切换到rbenvMacOS

12次阅读

共计 1556 个字符,预计需要花费 4 分钟才能阅读完成。

参考原文: https://gist.github.com/akdetrick/7604130
本文在翻译原文根底上对在实际操作中产生的问题追加了零星的解决办法.

起初看着 RVM 性能要比 rbenv 多, 所以抉择了 RVM 来治理 ruby 的版本, 但通过一段时间的应用发现对于 ruby 版本的管制还是 rbenv 不便些, 而且 Gemset 的设置多少有点麻烦, 设置不好连 rails 创立我的项目都报错. 所以索性换成 rbenv.

1) remove RVM from your system


首先, 要删除 RVM.

以下的命令等让你清理掉 RVM 的安装文件以及通过 RVM 装置的所有版本的 Ruby.

# rvm 的 "自爆" 模式, 将主动删除装置的 ruby 和本身的文件
$ rvm implode

# 偶然会有因权限问题导致 ~/.rvm 删除不掉的问题
$ rm -rf ~/.rvm

$ gem uninstall rvm
$ rm ~/.rvmrc
$ rm /etc/rvmrc

2) remove any remaining traces of RVM


从以下文件中删除所有关联 rvm 援用门路的设置

  • .profile
  • .bash_profile
  • .bashrc

zsh 还须要批改:

  • .zshrc

3) install rbenv


应用 Homebrew 装置 rbenv 和 ruby-build 插件

rbenv 的装置也能够参考 rbenv 自家的文档: https://github.com/rbenv/rbenv#installation

$ brew update
$ brew install rbenv ruby-build

4) install rubies for rbenv


应用 rbenv 装置须要的 ruby 版本

# 列出可装置的 ruby 稳固版本:
$ rbenv install -l

# 装置指定版本的 ruby:
$ rbenv install 2.0.0-p247

Note: 新装置一个 ruby 版本或 gem 之后如果呈现问题, 运行 $ rbenv rehash命令

5) switching ruby versions in rbenv


切换应用的 ruby 版本

有两种办法能够切换应用的 ruby 版本

在我的项目门路中指定应用的 ruby 版本

大部分 ruby 我的项目门路中蕴含有一个 .ruby-version 文件, 用以指定在该我的项目中应用的 ruby 版本.

手动更换版本

# 列出所有已装置, 可应用的 ruby 版本
$ rbenv versions

# 设置在当前目录下应用的版本
$ rbenv local 3.0.4

# 设置全局应用版本
$ rbenv global 3.0.4

6) install the bundler gem


装置 bundler gem

咱们举荐你装置 bundler, 在 ruby 应用中它是必不可少的一个工具, bundler 能够帮你治理我的项目中所依赖的各种 gem 包.

$ gem install bundler

7) never fight with RVM again


PS: 过程中遇到的问题

rbenv 装置 ruby 时报错: BUILD FAILED

具体报错内容没能及时保留, 在 so 上找到一篇相似的内容:

https://www.notion.so/alfredhot/RVM-rbenv-MacOS-6d877389647f4188b4a91647f706de30#6568afb370c74aacb0b9c30f212fab1c

只是形容的问题类似, 但我并不是通过条目里的最高赞回答解决的问题, 我应用的反而是这一条:

sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install

不晓得是不是因为删除了整个 CommandLineTools 文件夹的缘故, 重新安装 CommandLineTools 的工夫非常漫长. 总之在装置上 CommandLineTools 之后 rbenv 就能够失常装置 ruby 了.

正文完
 0