在mac上安装ruby 2.6.5时运行“__rvm_make -j10”时出错

chy5wohz  于 2022-11-29  发布在  Ruby
关注(0)|答案(1)|浏览(534)

我试图在Mac上安装Ruby2.6.5有m1亲芯片,但它的错误“__rvm_make -j10”。
我试着谷歌,但不会找到错误与“__rvm_make -j10”。有一个问题与相同的错误堆栈溢出,我尝试了相同的方法,但它不会工作太多。
我尝试了“rvm安装2.6.5 --with-out-ext=fiddle”我也尝试了开放ssl 1.0,但没有一个工作。

sammalik@Sams-MacBook-Pro rubyporgram % rvm install 2.6.5
ruby-2.6.5 - #removing src/ruby-2.6.5 - please wait
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/13.0/arm64/ruby-2.6.5.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for osx.
Updating certificates bundle '/opt/homebrew/etc/openssl@1.1/cert.pem'
Requirements installation successful.
Installing Ruby from source to: /Users/sammalik/.rvm/rubies/ruby-2.6.5, this may take a while depending on your cpu(s)...
ruby-2.6.5 - #downloading ruby-2.6.5, this may take a while depending on your connection...
ruby-2.6.5 - #extracting ruby-2.6.5 to /Users/sammalik/.rvm/src/ruby-2.6.5 - please wait
ruby-2.6.5 - #configuring - please wait
ruby-2.6.5 - #post-configuration - please wait
ruby-2.6.5 - #compiling - please wait
Error running '__rvm_make -j10',
please read /Users/sammalik/.rvm/log/1668327329_ruby-2.6.5/make.log
There has been an error while running make. Halting the installation.
icnyk63a

icnyk63a1#

Ruby 2.6.x在任何安装了14或更高版本的Apple命令行工具的Mac上都不再受支持,在macOS Ventura(13.0)上也是如此。假设你安装了Homebrew,你可以通过运行brew config来检查你安装的是哪个版本,然后查看底部以CLT:Xcode:开头的行
Ruby 2.6在2022年3月就已经到了生命周期的尽头,所以出于安全考虑,它不应该在生产中使用。很多人陷入困境是因为他们认为他们必须使用项目的.ruby-version和/或Gemfile中指定的Ruby版本。相反,建议将项目更新到一个更新的版本。
在大多数情况下,只需执行以下步骤即可:
1.安装Ruby 2.7.7
1.在.ruby-versionGemfile以及指定了Ruby版本的任何其他文件中,将“2.6.x”替换为“2.7.7”(Gemfile.lock除外,因为它不应手动编辑)
1.运行bundle install
1.如有必要,更新任何gem
1.运行测试并确保您的应用程序仍能正常工作
现在您已经知道了推荐的方法,让我们来看看两种解决方案,以防您在更新到2.7.7之前有使用Ruby 2.6的特殊需要:

  • 使用自制软件安装Ruby
  • 降级到13.4版的命令行工具

使用自制软件安装Ruby

1.安装Homebrew(如果尚未安装)
1.安装Ruby 2.6.10:brew install ruby@2.6
1.按照设置PATH的说明进行操作。例如,Homebrew会说这样的话:

By default, binaries installed by gem will be placed into:
  /opt/homebrew/lib/ruby/gems/2.6.0/bin

You may want to add this to your PATH.

If you need to have ruby first in your PATH, run:
  echo 'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> ~/.zshrc

之所以这样做是因为这是一个预先构建的Ruby版本,是用13.3版本的命令行工具编译的。
请注意,您需要禁用RVM或任何其他您以前可能使用过的版本管理器。并且您将只能使用2.6.10与此安装。您将无法切换到其他版本,您可能已经安装了RVM或其他版本管理器。
这是一个临时的解决方案,这样你就可以在2.6.10版本下运行你的项目,然后再更新到2.7.7。另外,请注意,无论哪种方式,你都需要将你的项目更新到至少2.6.10版本。绝对没有理由使用2.6.5版本。你应该始终确保你的应用运行的是一个系列中的最新版本。对于2.6,它是2.6.10,对于2.7,它是2.7.7,然后是3.0.5和3.1.3。

降级到13.4版的命令行工具

这在macOS Ventura(13.0)上是不可能的,所以不要浪费时间了。如果你在macOS Monterey上,你可以从Apple's developer site下载13.4版的命令行工具,然后安装它们。如果你需要的话,我还写了安装13.4版命令行工具的分步说明。

相关问题