在尝试使用 rbenv 安装 ruby 2.7.1 时,我注意到该版本未在我的 ubuntu 18.04 上列出
$ rbenv install -l | grep 2.7.
2.7.0-dev
2.7.0-preview1
jruby-9.2.7.0
rbx-2.71828182
Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的 Mac(带有所有更新的最新操作系统)上安装 Ruby 版本 2.7.2 并执行以下操作
brew update
brew upgrade rbenv ruby-build
Run Code Online (Sandbox Code Playgroud)
进而
rbenv install 2.7.2
ruby-build: definition not found: 2.7.2
See all available versions with `rbenv install --list'.
If the version you need is missing, try upgrading ruby-build:
brew update && brew upgrade ruby-build
Run Code Online (Sandbox Code Playgroud)
所以我尝试按照上面的说明进行操作并得到这个
brew update && brew upgrade ruby-build
Already up-to-date.
Warning: ruby-build 20200926 already installed
Run Code Online (Sandbox Code Playgroud) 升级到最新的 macOS (Monterey) 后,我无法安装新的 ruby 版本 (3.0.2)。有人遇到过类似的问题并且能够解决吗?
Downloading openssl-1.1.1l.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1
Installing openssl-1.1.1l...
Installed openssl-1.1.1l to /Users/hoquanganh/.rbenv/versions/3.0.2
Downloading ruby-3.0.2.tar.gz...
-> https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.2.tar.gz
Installing ruby-3.0.2...
ruby-build: using readline from homebrew
BUILD FAILED (macOS 12.1 using ruby-build 20211227)
Run Code Online (Sandbox Code Playgroud)
我尝试过一些方法,但对我来说不起作用
RUBY_CFLAGS="-Wno-error=implicit-function-declaration" rbenv install 3.0.2
RUBY_CONFIGURE_OPTS="--with-openssl-dir=`brew --prefix openssl@1.1`" rbenv install 3.0.2
Run Code Online (Sandbox Code Playgroud)
如果您有任何想法可以使这项工作成功,请告诉我,谢谢。
当我跑步时
RUBY_CONFIGURE_OPTS=--with-openssl-dir=/usr/local/Cellar/openssl@3/3.0.1 rbenv install 3.1.0
我得到这个输出:
Downloading ruby-3.1.0.tar.gz...
-> https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.0.tar.gz
Installing ruby-3.1.0...
ruby-build: using readline from homebrew
BUILD FAILED (macOS 11.6.2 using ruby-build 20211227-3-gcdc215e)
Inspect or clean up the working tree at /var/folders/ts/k_8jb10136s3zw9k2k08nz3c0000gn/T/ruby-build.20220113093111.65052.FVpqjp
Results logged to /var/folders/ts/k_8jb10136s3zw9k2k08nz3c0000gn/T/ruby-build.20220113093111.65052.log
Last 10 log lines:
The Ruby openssl extension was not compiled.
ERROR: Ruby install aborted due to missing extensions
Configure options used:
--prefix=/Users/jeremy/.rbenv/versions/3.1.0
--enable-shared
--with-readline-dir=/usr/local/opt/readline
--with-openssl-dir=/usr/local/Cellar/openssl@3/3.0.1
CC=clang
LDFLAGS=-L/Users/jeremy/.rbenv/versions/3.1.0/lib
CPPFLAGS=-I/Users/jeremy/.rbenv/versions/3.1.0/include
Run Code Online (Sandbox Code Playgroud)
我在日志中没有看到任何线索。我尝试了很多事情,例如重新安装 rbenv 和 openssl、不指定配置选项、系统更新、安装 xcode 以及来自 google 的更多内容。也许我错过了一些东西。
我尝试通过运行安装 Ruby 2.5.1 rbenv install 2.5.1,但不断出现以下失败:
BUILD FAILED (macOS 12.0.1 using ruby-build 20211203)
Inspect or clean up the working tree at /var/folders/_n/7rd4p8r578db_ct2rrwhvwv80000gn/T/ruby-build.20211204124341.35704.JFosKp
Results logged to /var/folders/_n/7rd4p8r578db_ct2rrwhvwv80000gn/T/ruby-build.20211204124341.35704.log
Last 10 log lines:
rb_mObjSpace = rb_const_get(rb_cObject, rb_intern("ObjectSpace"));
^~~~~~~~~~~~~~~~~~~~~~~~
../.././include/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
__extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
Run Code Online (Sandbox Code Playgroud)
有什么想法可能导致这种情况吗?
rbenv 不显示较新版本的 Ruby。
各种指南都说要更新 ruby build,但我没有在我的安装中设置 ruby-build 目录来执行此操作。
我该怎么办?
我正在尝试安装 Ruby 2.7.6,但是当我运行时
% rbenv version
我得到:
rbenv:版本
2.7.6' is not installed (set by /Users/[USER]/Documents/[FOLDER]/.ruby-version)
我的文件.ruby-version包含:2.7.6
运行时:%. rbenv install
出现错误:
构建失败(macOS 12.5 使用 ruby-build 20220726)
笔记:
终端跟踪
> (base) uxdw@MacBook-Pro [FOLDER] % rbenv install
Downloading openssl-1.1.1q.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca
Installing openssl-1.1.1q...
patching file test/v3ext.c
Installed openssl-1.1.1q to /Users/[USER]/.rbenv/versions/2.7.6
Downloading ruby-2.7.6.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.6.tar.bz2
Installing ruby-2.7.6...
ruby-build: using readline from homebrew
BUILD FAILED (macOS 12.5 using ruby-build 20220726)
Inspect …Run Code Online (Sandbox Code Playgroud)