Ruby Mac 新系统安装 Ruby 失败问题 (转)

kevinyu · 2021年02月19日 · 最后由 kevinyu 回复于 2021年02月24日 · 480 次阅读

经过测试 10.14 , 10.15, 11.2 Big Sur 都可以正常安装低版本 ruby 了

同事找到了解决办法 原文链接

首先安装一个 xcode

XCode -> Preferences -> Locations -> Command Line Tools -- choose xcode 11.X

brew install rbenv/tap/openssl@1.0

brew link openssl@1.0

export LDFLAGS="-L/usr/local/opt/openssl@1.0/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@1.0/include"
export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.0/lib/pkgconfig"
export PATH="/usr/local/opt/openssl@1.0/bin:$PATH"
rvm reinstall 2.2.0 --with-zlib-dir=$(brew --prefix zlib) --with-openssl-dir=/usr/local/opt/openssl@1.0 --with-openssl-lib=/usr/local/opt/openssl@1.0/lib --with-openssl-include=/usr/local/opt/openssl@1.0/include --with-opt-dir=/usr/local/opt/openssl@1.0

没事安装低版本干啥呢?

pynix 回复

老项目也要开发的吧

xiaox 回复

这么老的项目,居然还在跑着。

也在安装低版本,各种崩溃。

我也在安装 mac 的 ruby,我要安的是 2.2.5,

1.我安装的是商店自带的 xcode,我本地运行 xcode-select --install 说我已经安装成功了,也就代表 Command Line Tools -我安好了

2.我去安 homebrew,用的官网命令,连 vpn 很快

3.我去安 rvm,也是官网命令,然后 rvm list know 去看可以安的 ruby

4.rvm install 2.2.5,提示我安装依赖,我安了,包括 openssl 是 1.1 的,

5.然后报错了,网上的解决方法都是安 xcode,安 openssl,但我都安了还是报错,错误显示到 ruby 底层的 c 文件编译时候方法报错, Error running '__rvm_make -j 10'报的外部错是这个 我试着研究了下报错的信息,没有给我明确的解决思路, 后来又试着运行了: rvm reinstall 2.0.0 --with-openssl-dir=brew --prefix openssl也没啥用

6.我又改用 rbenv 安装了一次 ruby,报错的信息是一样的,

所以我分析 rvm 和 rbenv 的本身没啥问题,而是编译环境有问题

我怀疑 1.我的编译环境有问题
2.不知道 xcode,homebrew,rvm 哪一个的版本是不是不对 3.是不是权限有点问题,但是报错跟权限完全无关直观上看

目前让我陷入苦恼,有哪位大神看到可以回我下不,新 mac M1 芯片,新系统

https://github.com/rvm/rvm/issues/4819
2.4 以下 ruby 不再支持了,要指定 openssl 的低版本才能装
实际情况是就算是能装上但是跑 bundle 是不行的,至少暂时还没找到解决办法

换用 docker 开发吧

Mrzhao 回复

openssl1.1 是 ruby2.4 以上版本才能用,先安装 openssl1.0

wget https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb
brew install openssl.rb

每个接手的同事都要折腾一次吗?快用 docker 吧。

pynix 回复

我司 ruby1.8.7 还在跑...整吐了要

Mrzhao 回复

M1 不太清楚,我们虽然也是最新的系统但是是 intel 的版本,你可以尝试使用我的这个的教程试验一下

Rei 回复

😂 暂时还是使用 mac + rubymine,用虚拟机不知道体验如何

mz2test 回复

可以尝试这种方式试验一下

kowalskidark 回复

之前两年一直用 vagrant,现在换 mac 感觉还是 mac 下舒服一些 虚拟机毕竟隔着一层还是不爽。

kevinyu 回复

快换用 Linux 吧,Linux 上开 docker 就不用了隔着虚拟机了

kevinyu 回复

docker 超薄,超爽。

pynix 回复

感觉你在开车,但是又没有证据。

原来老有这个问题,记了个印象笔记来着 后来不用 rvm 了,改用 rbenv 好像就再也没遇到这个问题了

翻了下本机 .rbenv 文件夹的构成,versions 文件夹下的每个 ruby 版本的 OpenSSL 都是单独存放的

LPFpengfei 回复

我也是在 10.14 上这么弄的

需要 登录 后方可回复, 如果你还没有账号请 注册新账号