我正在使用macOs Catalina。我尝试通过rbenv安装旧版本的Ruby(1.9.3,2.1.2)。然而,我在尝试安装旧版本时,一直收到下面的错误。* 安装2.4或更新版本时没有问题。
我已经试过了
brew install openssl
brew install readline
brew install zlib
以及酿造更新。我有一切安装和最新的,但仍然下面的错误不断出现。
我还尝试使用配置选项进行安装
RUBY_CONFIGURE_OPTS="--with-readline-dir=`brew --prefix readline` --with-openssl-dir=`brew --prefix openssl`" rbenv install 2.1.2
请让我知道我该怎么做。
ruby-build:使用自制程序中的readline
构建失败(Mac OS X 10.15.7使用ruby构建版本20201005)
检查或清理/var/文件夹/80/ts3rxpm5199g71p1vm4xzydj03b4g3/T/ruby-build.20201113153529.74484.A9uFGC中的工作树结果记录到/var/文件夹/80/ts3rxpm5199g71p1vm4xzydj03b4g3/T/ruby-build.20201113153529.74484.log
最后10个日志行:未编译Ruby openssl扩展。未编译Ruby readline扩展。未编译Ruby zlib扩展。错误:Ruby安装因缺少扩展名而中止配置使用的选项:
- -前缀=/用户/用户名/. rbenv/版本/2.1.2
- -带有开放ssl-目录=/usr/本地/选项/开放ssl@1.0
- -带有读取行-目录=/usr/本地/选择/读取行
CC =叮当声
LDFLAGS =-L/用户/用户名/. rbenv/版本/2.1.2/库
CPPFLAGS =-I/用户/用户名/. rbenv/版本/2.1.2/包含
3条答案
按热度按时间fhity93d1#
ruby-build
需要clang
11来安装ruby的旧版本:GitHub评论链接1.如果
clang
已经更新到12,你需要先核击它:sudo rm -rf /Library/Developer/CommandLineTools
(源代码GitHub注解)1.然后,从official Apple Developers's website为
clang
11安装 * Xcode_11.5.dmg命令行工具 *(至少需要Free Apple Developer Account)1.确保在安装旧版本的
ruby
时选择openssl
1.0ruby-build
安装相应的openssl
,例如2.1.2内部版本echo $RUBY_CONFIGURE_OPTS
以确保它为空或设置为使用openssl@1.0
1.如果
ruby-build
仍然选择openssl
1.1,那么你可以显式地选择brew install rbenv/tap/openssl@1.0
和RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@1.0)"
(来源GitHub评论)uidvcgyl2#
嗨,我也经常在“Mac OS X 10.15.7 using ruby-build”上遇到这个问题,我必须在rbenv install 3.0.1命令之前同时设置以下两个变量:
第一个命令告诉编译器忽略函数隐式声明的位置,而不是在发生这种情况时出错;第二个命令告诉ruby使用哪个readline(在本例中是通过homebrew安装的)。
另外,我还将openssl设置为1.1.1
js81xvg63#
我在Intel和M1 Mac上安装Ruby时都遇到了问题,100%正常的是ruby-install:
不确定它可以追溯到多远,因为CDN/FTP必须存在,但对于v2.7.*,它似乎有一个长尾。
截至目前的稳定版本: