前提已經(jīng)安裝好了RVM吝羞,直接開講安裝Ruby遇到的問題链沼。
截止標(biāo)題日期ruby最新穩(wěn)定版是3.3.4秦忿,,下面安裝會(huì)使用3.3.1進(jìn)行示例(最新版可能會(huì)有一些兼容問題麦射,例如一些插件并沒有支持到最新版導(dǎo)致不能正常使用,這個(gè)遇到問題了再說(shuō)吧)灯谣。
終端執(zhí)行代碼:
rvm install 3.3.4
或
rvm install ruby-3.3.4
如果遇到如下報(bào)錯(cuò),是因?yàn)樾掳嬷蠴PENSSL1.0版本已經(jīng)被廢棄潜秋,需要使用OPENSSL3.0
Error running '__rvm_make -j12'
或者
Error running '__rvm_make -j8'
這時(shí)候需要使用下面的命令進(jìn)行安裝:
brew install openssl@3
rvm install ruby-3.3.1 --with-openssl-dir='brew --prefix openssl'
或者
rvm install ruby-3.3.1 --with-openssl-dir='brew --prefix openssl@3'
這樣會(huì)安裝成功!
但是胎许!在Apple M1安裝cocopods時(shí)會(huì)報(bào)下面的錯(cuò)誤:
ERROR: While executing gem ... (Gem::Exception)
OpenSSL is not available. Install OpenSSL and rebuild Ruby (preferred) or use non-HTTPS sources
這是因?yàn)?ruby 沒有編譯 OpenSSL 支持
這里有個(gè)坑openssl 3會(huì)有問題峻呛,只有重新安裝帶有openssl 1.1支持的 ruby 后它才有效。記住這一點(diǎn)非常重要辜窑,如果你使用openssl 3其他版本钩述,它將不起作用。
先查看一下OpenSSL 版本
ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION'
OpenSSL 1.1.1u 30 May 2023
如果是1.1.1就沒有問題穆碎,不是的話就跟著我的步驟走吧
1.安裝 OpenSSL 1.1(如果尚未安裝)
假設(shè)你已經(jīng)安裝了 home brew牙勘,你可以使用以下方式安裝 OpenSSL 1.1
brew install openssl@1.1
2.使用 openssl 1.1 重新安裝 ruby
如果使用 rvm
RVM 允許重新安裝。因此所禀,如果你安裝了 ruby 版本方面,你可以運(yùn)行
rvm reinstall 3.0.0 --with-openssl-dir=`brew --prefix openssl@1.1`
如果你沒有安裝,你可以rvm install運(yùn)行rvm reinstall
將其設(shè)置為默認(rèn)
rvm alias create default 3.0.0
如果使用 rbenv
首先色徘,您需要卸載 ruby恭金。假設(shè)您想要ruby 3.0.0,請(qǐng)先使用
rbenv uninstall 3.0.0
完成后褂策,您可以再次安裝支持 openssl 的 ruby横腿。
使用openssl 1.1.0安裝ruby
RUBY_CONFIGURE_OPTS="--with-openssl-dir=`brew --prefix openssl@1.1`" rbenv install 3.0.0
并將其設(shè)置為默認(rèn)
rbenv global 3.0.0
最后檢查一下
ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION'
OpenSSL 1.1.1u 30 May 2023
大功告成颓屑!