当我启用了ruby 2.2.1时,无法在WSL中的Ubuntu上安装Rails版本4.2.5。 nokogiri需要Ruby版本> = 2.3.0

时间:2019-07-11 03:29:18

标签: ruby-on-rails ruby linux rubygems rbenv

当我安装了ruby 2.2.1并处于活动状态时,在Windows 10的Linux子系统的Windows子系统上的Ubuntu上尝试安装Rails版本4.2.5,我得到以下错误:

~$ gem install rails -v 4.2.5
ERROR:  Error installing rails:
        nokogiri requires Ruby version >= 2.3.0.

我需要这些版本才能在使用这些版本的项目中进行协作。

我首先在Windows 10上安装WSL(不是1,不是2),然后下载并安装了Ubuntu Linux。然后,我安装了rbenv,更新了依赖关系,安装了ruby 2.5.1,这非常简单。 我在安装ruby 2.2.1时遇到问题,但这样做后就到了

$ sudo apt-get install -y libssl1.0-dev

安装ruby 2.2.1需要的libssl的早期版本。

我使用

安装了node.jsbundler的早期版本
$ gem install bundler -v 1.17.3

正在尝试

$ gem install bundler 

失败,出现类似错误。

(我还在上面安装了ruby 2.5.1和rails 4.2.5,几乎没有问题)

尝试各种诊断后,未为ruby 2.2.1安装滑轨

~$ rails
rbenv: rails: command not found
The `rails' command exists in these Ruby versions:
  2.5.1

(但不是在我需要的ruby 2.2.1中)

在Windows File Explorer中查看我的文件(仅查看),我可以看到,虽然我的ruby 2.5.1宝石包含滑轨,但我的ruby 2.2.1文件不完整,并且不包含滑轨。

我认为PATH是正确的。

$ echo $PATH returns
/home/johnloughran/.rbenv/plugins/ruby-  build/bin:/home/johnloughran/.rbenv/shims:/home/johnloughran/.rbenv/bin:/usr/ 
local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local 
/games:/mnt/c/Program 
Files/WindowsApps/CanonicalGroupLimited.Ubuntu18.04onWindows_1804.2019.522.0_ 
x64__79rhkp1fndgsc:  ........   :/snap/bin

我修改了.bashrc文件,将各种条目添加到了PATH中。

我从头开始(卸载Ubuntu)重复了整个过程两次,最后都使用了相同的块。

在这里尝试并继续的最佳选择是什么?

1 个答案:

答案 0 :(得分:0)

感谢Josien的评论。在第一种情况下,我的协作者将这些版本的Ruby和Rails一起使用,但是距他们安装它们已有几年了。大卫(David)尝试通过在ruby 2.2.1上重新安装Rails 4.2.5来帮助我,而在nokogiri中遇到了同样的问题。

他通过在新的测试目录中安装较低版本的nokogiri来解决了该问题,我将其重复为:

test$ gem install nokogiri -v 1.9.1

这有效。然后我将rails安装为

test$ gem install rails --version 4.2.5

最后..它成功了!!!! :-) 为了证明这一点,我能够使Rails正确返回其版本。

test$ rails -v
Rails 4.2.5

然后我就可以创建一个应用了

<working-directory>$ rails new learn-ruby

几乎可以解决另一个依赖问题,但是,嘿……那是编程!

关于您的第二点评论,我对此知识不甚了解,不知道此版本的ruby是否已被弃用,而rails版本也已实现。