更新:从那以后,我就在Mac上安装Ruby gem的各种方式写了非常详细的说明。我最初使用脚本的建议仍然存在,但是我的文章更加详细:https://www.moncefbelyamani.com/the-definitive-guide-to-installing-ruby-gems-on-a-mac/
您是正确的,macOS不允许您使用Mac随附的Ruby版本进行任何更改。但是,可以安装宝石,例如bundler
使用不干扰Apple提供的Ruby的单独版本。
sudo
即使您知道自己在做什么,也强烈建议不要使用安装gem或更改系统文件和目录的权限。我们可以停止提供这个坏建议吗?
该解决方案包括两个主要步骤:
- 安装另一种不干扰Mac随附版本的Ruby。
- 更新您的
PATH
版本,使新Ruby版本的位置在中PATH
。目录列表以及计算机查找可执行程序的顺序PATH
。如果键入echo $PATH
Terminal,您将看到目录列表,以冒号分隔。
有几种方法可以在Mac上安装Ruby。我推荐并希望在各种安装说明中更加流行的最佳方法是使用自动脚本,该脚本将为您设置合适的Ruby环境。这将大大减少由于指令不足而导致出错的可能性,这些指令会使用户手动执行大量操作,然后由用户自己决定所有必要步骤。
您可以采取的另一种方法是花费额外的时间手动执行所有操作,并希望达到最佳状态。首先,您需要安装Homebrew,这使得安装其他工具和macOS应用程序变得容易。
然后,安装单独的Ruby版本的4种最流行的方法是:
如果您同时不需要多个版本的Ruby(macOS随附的版本除外)
- 自制软件-安装完成后,请使用安装ruby
brew install ruby
,然后PATH
通过运行echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.bash_profile
,source ~/.bash_profile
如果您想在多个Ruby版本之间轻松切换的灵活性
要检查您是否正在使用非系统版本的Ruby,可以运行以下命令:
which ruby
应该不是 /usr/bin/ruby
ruby -v
它应该不是2.3.7。到目前为止,2.6.1是最新的Ruby版本。
一旦安装了这个新版本的Ruby,现在就可以安装bundler:
gem install bundler
rbenv
您必须做echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
。 来源