Mac m1Pro 上安装Ruby

1,266 阅读4分钟

其实我想做标题党的: 什么?装个ruby装了一天? 在mac上装ruby你不知道的事情!

好了上正餐:

设备:Apple M1 Pro 系统:Sonoma 14.2

吐血了,找了各种各样的文章。

先把坑踩完。

配置开发必备的科学上网环境

科学上网自行选用,就不赘述了。

先在 科学上网工具 查询到本机代理。

获取到科学上网的特有命令

点击科学上网工具 -> 选择【复制终端代理命令】 -> 复制到文本:

export https_proxy=http://127.0.0.1:7890 
http_proxy=http://127.0.0.1:7890 
all_proxy=socks5://127.0.0.1:7890

注意:每个人的可能不一样,以自己的为准。

修改.zshrc文件

  1. 在终端中,通过命令 open ~/.zshrc 打开配置文件,进行如下配置,然后保存文件,
# export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890
function proxy_on() {
    export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
    export http_proxy="http://127.0.0.1:7890"
    export https_proxy=$http_proxy
    export all_proxy=socks5://127.0.0.1:7890
    echo -e "\033[32m已开启科学上网\033[0m"
}

function proxy_off(){
    unset http_proxy
    unset https_proxy
    unset all_proxy
    echo -e "已关闭科学上网"
}
  1. 并且执行命令 source ~/.zshrc
  2. 在终端中执行命令 proxy_on 即可打开代理,输入 proxy_off 即可关闭代理

注意:每个人打开的配置文件可能不一样,正常来说现在都默认为 zshrc ,这块不懂的请自行百度

修改Mac的DNS

  1. 点击Mac的【设置】应用 -> 点击【网络】 -> 选择一个【链接的lan 或者 wifi 】-> 点击【详细信息】

->进入到详情页面,按 1 - 2 - 3 -4 顺序完成。

也可以添加其他DNS如下:114.114.114.114 、119.29.29.29、223.5.5.5

具体参考:nic.lntc.edu.cn/info/1024/1…

  1. 用如下命令 sudo killall -HUP mDNSResponder 刷新DNS
  2. 刷新DNS验证DNS是否成功
    • 可以输入命令:scutil --dns 查看 ,
    • 当然也可以输入命令:nslookup google.com尝试去解析一下 ,看到配置的dns就是成功了。

科学上网工具全局上网

先打开科学上网工具全局模式,然后再在终端输入 proxy_on ,这里需要注意的是每次开启一个终端都需要输入一次 proxy_on

安装HomeBrew

标准命令:

/bin/zsh -c "$(curl -fsSL gitee.com/cunkai/Home…)"

国内源

gitee.com/cunkai/Home…

基本命令学习

参考 : zhuanlan.zhihu.com/p/547898033

brew –help             #查看brew的帮助
 
brew install git       #安装git软件
 
brew install --cask cakebrew #安装UI界面的软件
 
brew uninstall git     #卸载git软件
 
brew search git        #搜索git软件
 
brew list              #显示已经安装软件列表
 
brew list python3      #显示已安装软件的安装路径

官网

brew.sh/

安装RVM

根据官网来:rvm.io/

生成秘钥

gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

  • 报错1 : 如果有报错:zsh: command not found: gpg2 ,那么就把gpg2 修改成 gpg 即可。
  • 报错2: 如果没有安装gpg ,则通过 brew install gpg 安装gpg

gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

  • 报错3:执行命令后报错为服务器故障等

采用以下方式解决:

终端输入:gpg-connect-agent --dirmngr 'keyserver --hosttable'


然后修改这个命令,将--keyserver keyserver.ubuntu.com --recv-keys中间的服务替换成查询到的

例如:

原来的:gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

修改后的:gpg --keyserver 185.125.188.27 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

以上方式参考:stackoverflow.com/questions/5…

在终端中执行(根据具体情况修改):gpg --keyserver 185.125.188.27 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

显示新的签名,就是成功了!

执行安装rvm的命令

终端输入:\curl -sSL get.rvm.io | bash -s stable

看到Thanks for installing RVM 🙏 就是安装成功,然后执行 rvm -v 能查看到版本

注意:如果执行命令失败,可尝试多执行几次,科学上网开全局模式,然后再执行 前面配置好的proxy_on

安装Ruby

官网:www.ruby-lang.org/zh_cn/downl…

rvm的命令行

ruby-china.org/wiki/rvm-gu…

执行安装ruby的命令

rvm install ruby-3.2.2 --with-openssl-dir='brew --prefix openssl'


以下血与泪的过程:

通过rvm安装Ruby ,rvm install ruby 3.0.0 ,如果不是最新的mac系统可以用这个。

因为本人电脑是mac目前最新的系统 14.2 Mac m1 Pro ,ruby3.0已经不支持,需要更高的版本。

所以我执行的命令是: rvm install ruby 3.2.2

当然你也可以通过 rvm list known 来查询最新的ruby版本

最后发现一直安装失败,3.0.0会有报错。它依赖了openssl,所以要指定 openssl 的路径

rvm install ruby-3.2.2 --with-openssl-dir='brew --prefix openssl'

可参考这个帖子:github.com/rvm/rvm/iss…

注意:如果执行命令失败,可尝试多执行几次,科学上网开全局模式,然后再执行 前面配置好的proxy_on

最后安装成功,终端输入: ruby -v 查看当前安装版本。

安装成功!

更好的观看体验参考: www.yuque.com/yubatalk/se… 《Mac上安装Ruby》