我无法更改我想用我的 Mac (M1) 运行的 ruby​​ 版本

Posted

技术标签:

【中文标题】我无法更改我想用我的 Mac (M1) 运行的 ruby​​ 版本【英文标题】:I can't change the ruby version I want to run with my Mac (M1) 【发布时间】:2021-08-19 05:57:59 【问题描述】:

所以我尝试完成本教程https://programminghistorian.org/en/lessons/building-static-sites-with-jekyll-github-pages#on-a-mac-,但卡在了 ruby​​ 部分。以下是发生的事情和我尝试过的事情:

在尝试本教程时,我在尝试使用此命令行时遇到了第一个“权限”错误

gem install ruby​​gems-update

所以我继续访问 Jekyll 网站,阅读文档并发现我需要解决该权限错误,我的猜测是它是在 Mac 已经有需要运行的 ruby​​ 版本时生成的,而且即使我安装了新的 ruby​​ 版本,我也无法更改我的 Mac 正在运行的版本。

我在documentation 上尝试了所有方法。甚至是安装 ruby​​ 的 rbenv 路径,然后在尝试查看我使用 ruby -v 运行的版本时,我得到了同样的东西“2.6.3p62”。

然后我找到了this 博客文章,并再次尝试使用自制软件以这种方式安装它。我从那里修改的唯一内容是:

echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.bash_profile

到这里

回显'export PATH="/usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/3.0.1/bin:$PATH"' >> ~/.zshrc

因为在运行echo $SHELL 之后,我的shell 似乎是zsh。

但是,当我重新启动控制台并输入 ruby -v 时,终端显示相同的旧版本“2.6.3p62”。我还看到here 可以在安装后运行which ruby 并运行echo 命令以查看它是否需要从新定义的路径但没有。它还在 /usr/bin/ruby 里面

我已经用完了所有选项并寻求帮助。谢谢。

【问题讨论】:

澄清:这是rbenv?使用 Homebrew ruby 是一种选择,但 rbenv 通常会做得更好,尤其是当您必须在同一台机器上处理多个版本的 Ruby 时。 是的,使用 rbenv,我最终找到了一个可以帮助我使用 chruby 完成它的脚本。 【参考方案1】:

M1 芯片 MacOS 终端设置 Ruby(任何所需版本)环境的可能脚本是:

xcode-select --install

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew install git

git config --global color.ui true

git config --global user.name "your name here"

git config --global user.email your_email_here

然后在 Chrome 中下载 VS Code 并返回终端输入以下命令。

brew install rbenv

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc

echo 'eval "$(rbenv init -)"' >> ~/.zshrc

source ~/.zshrc

接下来是您插入所需版本的位置。这次我建议2.7.3

rbenv install 2.7.3
    
rbenv global 2.7.3 

rbenv rehash

gem install bundler pry byebug

gem install pry

gem install pry-doc

【讨论】:

以上是关于我无法更改我想用我的 Mac (M1) 运行的 ruby​​ 版本的主要内容,如果未能解决你的问题,请参考以下文章

Cocoapods 无法在新的 m1 mac Big Sur Xcode 上运行

我想用我的 android 手机作为模拟器在 windows 7 上运行颤振。在我的调试模式下进行了调整。如何解决颤振医生命令的问题

跳过 R 中 M1mac 的测试

在 M1 Mac 上运行 Flutter Doctor 时出错 - 无法找到捆绑的 Java 版本

Flutter 运行和 ipa - Mac M1 - #import <Flutter/Flutter.h>

我无法在 R 中的 M1 Mac 上使用 keras 中的功能,它要求我安装 arm64e 版本的 miniconda3。该怎么办?