ruby - 如何在 Mac OS 上安装新的 Ruby 版本
问题描述
我正在尝试通过运行在带有 rbenv 的 Mac OS Mojave v10.14.6 上安装 Ruby v2.7.0,rbenv install 2.7.0
但出现以下错误:
Downloading openssl-1.1.1d.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/1e3a91bc1f9dfce01af26026f856e064eab4c8ee0a8f457b5ae30b40b8b711f2
Installing openssl-1.1.1d...
BUILD FAILED (OS X 10.14.6 using ruby-build 20200224)
Inspect or clean up the working tree at /var/folders/qz/072qbsw163lb8p511v4dtssr0000gq/T/ruby-build.20200304000500.19560.8ElfaA
Results logged to /var/folders/qz/072qbsw163lb8p511v4dtssr0000gq/T/ruby-build.20200304000500.19560.log
Last 10 log lines:
clang -I. -Iinclude -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/<username>/.rbenv/versions/2.7.0/openssl/ssl\"" -DENGINESDIR="\"/Users/<username>/.rbenv/versions/2.7.0/openssl/lib/engines-1.1\"" -D_REENTRANT -DZLIB -DZLIB_SHARED -DNDEBUG -I/Users/<username>/.rbenv/versions/2.7.0/include -MMD -MF apps/bf_prefix.d.tmp -MT apps/bf_prefix.o -c -o apps/bf_prefix.o apps/bf_prefix.c
clang -I. -Iinclude -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/<username>/.rbenv/versions/2.7.0/openssl/ssl\"" -DENGINESDIR="\"/Users/<username>/.rbenv/versions/2.7.0/openssl/lib/engines-1.1\"" -D_REENTRANT -DZLIB -DZLIB_SHARED -DNDEBUG -I/Users/<username>/.rbenv/versions/2.7.0/include -MMD -MF apps/opt.d.tmp -MT apps/opt.o -c -o apps/opt.o apps/opt.c
clang -I. -Iinclude -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/<username>/.rbenv/versions/2.7.0/openssl/ssl\"" -DENGINESDIR="\"/Users/<username>/.rbenv/versions/2.7.0/openssl/lib/engines-1.1\"" -D_REENTRANT -DZLIB -DZLIB_SHARED -DNDEBUG -I/Users/<username>/.rbenv/versions/2.7.0/include -MMD -MF apps/s_cb.d.tmp -MT apps/s_cb.o -c -o apps/s_cb.o apps/s_cb.c
clang -I. -Iinclude -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/<username>/.rbenv/versions/2.7.0/openssl/ssl\"" -DENGINESDIR="\"/Users/<username>/.rbenv/versions/2.7.0/openssl/lib/engines-1.1\"" -D_REENTRANT -DZLIB -DZLIB_SHARED -DNDEBUG -I/Users/<username>/.rbenv/versions/2.7.0/include -MMD -MF apps/s_socket.d.tmp -MT apps/s_socket.o -c -o apps/s_socket.o apps/s_socket.c
ar r apps/libapps.a apps/app_rand.o apps/apps.o apps/bf_prefix.o apps/opt.o apps/s_cb.o apps/s_socket.o
ar: creating archive apps/libapps.a
/usr/local/Cellar/cctools/855/bin/ranlib: object: apps/libapps.a(app_rand.o) malformed object (unknown load command 1)
ar: internal ranlib command failed
make[1]: *** [apps/libapps.a] Error 1
make: *** [all] Error 2
日志文件 ( /var/folders/qz/072qbsw163lb8p511v4dtssr0000gq/T/ruby-build.20200304000500.19560.log
) 如下所示:
/var/folders/qz/072qbsw163lb8p511v4dtssr0000gq/T/ruby-build.20200304000500.19560.8ElfaA ~/Documents/launch_school
HTTP/1.1 200 OK
Content-Type: binary/octet-stream
Content-Length: 8845861
Connection: keep-alive
Last-Modified: Tue, 01 Oct 2019 21:38:26 GMT
Accept-Ranges: bytes
Server: AmazonS3
Date: Tue, 03 Mar 2020 02:47:54 GMT
ETag: "3be209000dbc7e1b95bcdf47980a3baa"
X-Cache: Hit from cloudfront
Via: 1.1 cec03b477881661a098cf57a0142e58d.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: NRT51-C2
X-Amz-Cf-Id: tuC_K1W4DW9QlEqV60T5WHbOCqvd5-ZAi7HeVNYW0mGCXxO9pKkpyQ==
Age: 44228
/var/folders/qz/072qbsw163lb8p511v4dtssr0000gq/T/ruby-build.20200304000500.19560.8ElfaA/openssl-1.1.1d /var/folders/qz/072qbsw163lb8p511v4dtssr0000gq/T/ruby-build.20200304000500.19560.8ElfaA ~/Documents/launch_school
Operating system: x86_64-apple-darwinDarwin Kernel Version 18.7.0: Thu Jan 23 06:52:12 PST 2020; root:xnu-4903.278.25~1/RELEASE_X86_64
Configuring OpenSSL version 1.1.1d (0x1010104fL) for darwin64-x86_64-cc
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile
**********************************************************************
*** ***
*** OpenSSL has been successfully configured ***
*** ***
*** If you encounter a problem while building, please open an ***
*** issue on GitHub <https://github.com/openssl/openssl/issues> ***
*** and include the output from the following command: ***
*** ***
*** perl configdata.pm --dump ***
*** ***
*** (If you are new to OpenSSL, you might want to consult the ***
*** 'Troubleshooting' section in the INSTALL file first) ***
*** ***
**********************************************************************
WARNING! If you wish to build 32-bit libraries, then you have to
invoke 'KERNEL_BITS=32 ./config '--prefix=/Users/<username>/.rbenv/versions/2.7.0/openssl' '--openssldir=/Users/<username>/.rbenv/versions/2.7.0/openssl/ssl' 'zlib-dynamic' 'no-ssl3' 'shared''.
/usr/local/Cellar/perl/5.26.2/bin/perl "-I." -Mconfigdata "util/dofile.pl" \
"-oMakefile" crypto/include/internal/bn_conf.h.in > crypto/include/internal/bn_conf.h
/usr/local/Cellar/perl/5.26.2/bin/perl "-I." -Mconfigdata "util/dofile.pl" \
"-oMakefile" crypto/include/internal/dso_conf.h.in > crypto/include/internal/dso_conf.h
/usr/local/Cellar/perl/5.26.2/bin/perl "-I." -Mconfigdata "util/dofile.pl" \
"-oMakefile" include/openssl/opensslconf.h.in > include/openssl/opensslconf.h
make depend && make _all
clang -I. -Iinclude -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/<username>/.rbenv/versions/2.7.0/openssl/ssl\"" -DENGINESDIR="\"/Users/<username>/.rbenv/versions/2.7.0/openssl/lib/engines-1.1\"" -D_REENTRANT -DZLIB -DZLIB_SHARED -DNDEBUG -I/Users/<username>/.rbenv/versions/2.7.0/include -MMD -MF apps/app_rand.d.tmp -MT apps/app_rand.o -c -o apps/app_rand.o apps/app_rand.c
clang -I. -Iinclude -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/<username>/.rbenv/versions/2.7.0/openssl/ssl\"" -DENGINESDIR="\"/Users/<username>/.rbenv/versions/2.7.0/openssl/lib/engines-1.1\"" -D_REENTRANT -DZLIB -DZLIB_SHARED -DNDEBUG -I/Users/<username>/.rbenv/versions/2.7.0/include -MMD -MF apps/apps.d.tmp -MT apps/apps.o -c -o apps/apps.o apps/apps.c
clang -I. -Iinclude -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/<username>/.rbenv/versions/2.7.0/openssl/ssl\"" -DENGINESDIR="\"/Users/<username>/.rbenv/versions/2.7.0/openssl/lib/engines-1.1\"" -D_REENTRANT -DZLIB -DZLIB_SHARED -DNDEBUG -I/Users/<username>/.rbenv/versions/2.7.0/include -MMD -MF apps/bf_prefix.d.tmp -MT apps/bf_prefix.o -c -o apps/bf_prefix.o apps/bf_prefix.c
clang -I. -Iinclude -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/<username>/.rbenv/versions/2.7.0/openssl/ssl\"" -DENGINESDIR="\"/Users/<username>/.rbenv/versions/2.7.0/openssl/lib/engines-1.1\"" -D_REENTRANT -DZLIB -DZLIB_SHARED -DNDEBUG -I/Users/<username>/.rbenv/versions/2.7.0/include -MMD -MF apps/opt.d.tmp -MT apps/opt.o -c -o apps/opt.o apps/opt.c
clang -I. -Iinclude -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/<username>/.rbenv/versions/2.7.0/openssl/ssl\"" -DENGINESDIR="\"/Users/<username>/.rbenv/versions/2.7.0/openssl/lib/engines-1.1\"" -D_REENTRANT -DZLIB -DZLIB_SHARED -DNDEBUG -I/Users/<username>/.rbenv/versions/2.7.0/include -MMD -MF apps/s_cb.d.tmp -MT apps/s_cb.o -c -o apps/s_cb.o apps/s_cb.c
clang -I. -Iinclude -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/<username>/.rbenv/versions/2.7.0/openssl/ssl\"" -DENGINESDIR="\"/Users/<username>/.rbenv/versions/2.7.0/openssl/lib/engines-1.1\"" -D_REENTRANT -DZLIB -DZLIB_SHARED -DNDEBUG -I/Users/<username>/.rbenv/versions/2.7.0/include -MMD -MF apps/s_socket.d.tmp -MT apps/s_socket.o -c -o apps/s_socket.o apps/s_socket.c
ar r apps/libapps.a apps/app_rand.o apps/apps.o apps/bf_prefix.o apps/opt.o apps/s_cb.o apps/s_socket.o
ar: creating archive apps/libapps.a
/usr/local/Cellar/cctools/855/bin/ranlib: object: apps/libapps.a(app_rand.o) malformed object (unknown load command 1)
ar: internal ranlib command failed
make[1]: *** [apps/libapps.a] Error 1
make: *** [all] Error 2
到目前为止,我采取的步骤是:
- 更新了
ruby-build
通过 rbenv 安装 Ruby 所需的 rbenv 插件。 - 按照“如何在运行 make 时修复 ranlib/libtool 错误”中的建议安装最新版本的 Xcode 及其命令行工具的最新版本。
- 按照“卸载 MacPorts ”,按照“配置时出现 Arm64 问题”中的建议卸载 MacPorts 。
注意:我发布的最初问题已关闭,因为它被标记为“离题”。我希望这个继续保持开放,以便人们可以提供和参考上述问题的解决方案。
解决方案
推荐阅读
- java - 在 Java 中设置不同的驻留堆大小和总换出的虚拟内存大小
- structured-data - Google结构化数据测试工具和微格式hcard的问题
- html - 找不到 Django 全局静态文件
- java - 您将如何重构 Arrays.copyOf() 方法以删除 @SuppressWarnings("unchecked") 注释?
- java - 警报对话框仅模糊部分屏幕
- security - Oauth 2 流程:AWS Cognito 的 id_token 是否应该传递给浏览器进行会话管理?
- php - Acquia Dev Desktop 为 Drush 使用了错误的 PHP
- laravel - 服务器上的 Laravel 会话缓存(配置错误)
- java - 为什么即使我使用相同的公式,我的 TI-84 Plus 计算器和 Google 的计算答案也比我的 Java 计算答案略高?
- json - 如何使用键值结构数组解组 JSON,其中键没有 json 标记