ruby - 使用 rbenv 在 MacOS 上安装 Ruby 2.6.0 失败
问题描述
我在 Mojave 上有一台 Mac,但它无法安装一些开发所需的基本东西:
$ rbenv install 2.6.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 20191223)
Inspect or clean up the working tree at /var/folders/l_/xgbzwc3j0xn_cb74550m71vr0000gn/T/ruby-build.20191225225406.18503.lq8QNM
Results logged to /var/folders/l_/xgbzwc3j0xn_cb74550m71vr0000gn/T/ruby-build.20191225225406.18503.log
Last 10 log lines:
_s_server_main in s_server.o
"_verify_stateless_cookie_callback", referenced from:
_s_server_main in s_server.o
"_wait_for_async", referenced from:
_s_client_main in s_client.o
_sv_body in s_server.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [apps/openssl] Error 1
make: *** [all] Error 2
我发现有几篇博文谈到 Mojave 版本如何为开发人员破坏了一些东西,但没有一篇文章提供解决方案。有没有其他人遇到过上述问题?
解决方案
从另一个线程重新发布我的回复- 我遇到了类似的问题,可以推荐以下与binutils需要先卸载编辑相关的方法。什么对我有用:
brew uninstall binutils
# Uninstalling /usr/local/Cellar/binutils/2.33.1... (134 files, 167.6MB)
rbenv install 2.6.5 && rbenv local 2.6.5 ;
# Downloading openssl-1.1.1d.tar.gz...
# -> https://dqw8nmjcqpjn7.cloudfront.net/1e3a91bc1f9dfce01af26026f856e064eab4c8ee0a8f457b5ae30b40b8b711f2
# Installing openssl-1.1.1d...
# Installed openssl-1.1.1d to /Users/auser/.rbenv/versions/2.6.5
# Downloading ruby-2.6.5.tar.bz2...
# -> https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.5.tar.bz2
# Installing ruby-2.6.5...
# ruby-build: using readline from homebrew
# Installed ruby-2.6.5 to /Users/auser/.rbenv/versions/2.6.5
在此之前,我还在ruby-build.log中收到了许多不同的消息- 最后一条是:
# ld: symbol(s) not found for architecture x86_64
作为自制程序设置(卸载之前)的一部分,我采取的许多其他步骤包括:
brew install perl ruby rbenv
# // UPDATE PATHs with suggestions made by brew during install
which awk perl
# /usr/local/bin/awk
# /usr/local/bin/perl
# ^^^ IN SHORT ALL PATHs should be with /usr/local/opt OR /usr/local/bin
您可以根据需要再次重新安装 binutils,并记住使用rbenv install
您可能重新执行的任何未来版本重复卸载(自我注意)。
PS - 在 macOS Catalina 10.15.3 (19D76) 上测试成功安装了 2.4.0 和 2.6.5
推荐阅读
- pine-script - 在交易视图中回测用 Pine Script 编写的策略时出现“无数据”错误的原因是什么?
- sql - 如何在 PostgreSQL 中使用数组和循环加速自定义窗口函数?
- javascript - 为什么在 React useReducer 简单的 Todo 应用程序中我得到“一个组件正在改变一个未定义类型的不受控制的输入来控制..”?
- lua - Roblox Studio 预期为“}”(在第 5 行关闭“{”),得到“游戏”
- c - 在 C 中同时创建内部和外部链接
- bash - 安装 home brew 后终端无法识别 nvm
- python - 创建一个简单的登录系统作为个人项目并在 python 中遇到一些 IO 问题
- javascript - 如何在 Python 中处理(Java-)脚本变量?
- java - 线程和缓冲区策略的问题:IllegalStateException: Component must have a valid peer
- python-3.x - Python3没有在网页上获得全文