无法在Ubuntu 22.04上安装ruby 2.6.6版本



我有一个使用ruby 2.6.6版本的现有项目。但是我的机器的ruby版本是3.0.2。所以当我尝试在我的机器上运行我的项目时,它显示了这个错误。

Your Ruby version is 3.0.2, but your Gemfile specified 2.6.6
所以我也尝试使用rbenv环境安装ruby 2.6.6
rbenv install 2.6.6
Installing ruby-2.6.6...
BUILD FAILED (Ubuntu 22.04 using ruby-build 20220426)
Inspect or clean up the working tree at /tmp/ruby-build.20220501122810.9309.e7yCPU
Results logged to /tmp/ruby-build.20220501122810.9309.log
Last 10 log lines:
installing default date_core libraries
linking shared-object fiddle.so
make[2]: Leaving directory '/tmp/ruby-build.20220501122810.9309.e7yCPU/ruby-2.6.6/ext/readline'
make[2]: Leaving directory '/tmp/ruby-build.20220501122810.9309.e7yCPU/ruby-2.6.6/ext/fiddle'
linking shared-object bigdecimal.so
make[2]: Leaving directory '/tmp/ruby-build.20220501122810.9309.e7yCPU/ruby-2.6.6/ext/bigdecimal'
linking shared-object date_core.so
make[2]: Leaving directory '/tmp/ruby-build.20220501122810.9309.e7yCPU/ruby-2.6.6/ext/date'
make[1]: Leaving directory '/tmp/ruby-build.20220501122810.9309.e7yCPU/ruby-2.6.6'
make: *** [uncommon.mk:286: build-ext] Error 2

所以我不知道如何使它工作。任何人都可以帮忙。我从网上试了所有可能的方法,但都不起作用。

ruby -v

ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux-gnu]

Rails -v

Rails 6.1.4.1

Rbenv --version

rbenv 1.1.2

Ruby-build日志文件链接在这里。

几天后我发现这个错误是由ubuntu的OpenSSL引起的

在我执行这个命令后,我可以下载ruby 2.6.6

rvm pkg install openssl

接下来

rvm install ruby-2.6.6 --with-openssl-dir=$HOME/.rvm/usr

你可以参考这里的讨论

rvm可以同时安装两个版本的ruby。见https://rvm.io/rubies/default

现在,要自动选择正确的ruby版本(因此您不必每次都调用rvm use 2.6.6),这里的技巧是不要直接打开带有旧ruby版本的项目的终端。相反,在启动服务器之前,您可以打开一个终端到它的父目录,并cd到项目的文件夹中。

我以前也遇到过同样的问题,我是这样解决的。

最新更新