【问题标题】:Error installing Jekyll, requires Ruby >= 2.0.0安装 Jekyll 时出错,需要 Ruby >= 2.0.0
【发布时间】:2015-11-03 16:08:52
【问题描述】:

我得到了错误

Error installing jekyll:
jekyll requires Ruby version >= 2.0.0.

当我跑步时

sudo gem install jekyll

"ruby -v" 表示我有 ruby​​ 版本 1.9.3

如何安装 Jekyll?我需要升级红宝石吗?如果有,怎么做?

更新 - 我用 rvm 安装了 ruby​​ 2.0.0 但得到了同样的错误。自从尝试使用 gem 安装后,是否仍然尝试使用旧版本的 ruby​​ 进行安装?如果有,如何查找和更改?

【问题讨论】:

  • 通过更新您的 Ruby,“如何”取决于您如何管理 Ruby 版本。
  • 如何管理 ruby​​ 版本?
  • 系统级安装、安装程序安装、rvm、rbenv、...
  • 安装了 ruby​​ 2.0.0 但仍然出现同样的错误。 gem 是否仍在使用旧版本?
  • this answer 对安装 ruby​​ 版本管理器非常有帮助,它允许您在家庭环境中随时签出和使用您想要的任何版本,而无需 sudo,只需运行 @987654325 @

标签: ruby jekyll


【解决方案1】:

试试

sudo gem install jekyll -v 2.5

默认命令显然会尝试安装 Jekyll 3,该版本已发布 on October 27th 2015。 2.5 版本仍然可以与 Ruby 1.9.3 一起使用,这对我来说很好,可能对你也一样。

【讨论】:

  • this answer 对安装 ruby​​ 版本管理器非常有帮助,它允许您在家庭环境中随时签出和使用最新或任何您想要的版本,而无需 sudo,只需运行gem install jekyll
  • 根据 Jekyll 问题页面上的一些旧帮助,Ubuntu 软件包“非常旧”,您不应该使用它。 github.com/jekyll/jekyll-help/issues/209
【解决方案2】:

我通过以下方式解决了这个问题(假设安装了ruby2.0 包):

sudo rm /usr/bin/ruby
sudo rm /usr/bin/gem
sudo ln -s /usr/bin/ruby2.0 /usr/bin/ruby
sudo ln -s /usr/bin/gem2.0 /usr/bin/gem

快速解释:

/usr/bin/ruby/usr/bin/gem 是符号链接,你可以输入:

ll /usr/bin/ruby
ll /usr/bin/gem 

更改这些链接的目标会导致更改默认的 ruby​​ 和 gem 执行。例如,切换到 2.0 版后,您可以安装 Jekyll 3。

【讨论】:

  • 此解决方案将破坏您的包装系统,并且可能在将来使您无法升级。不好的解决方案,不要这样做。
  • 您能详细说明一下吗?为什么会破坏包装系统?此外,您始终可以轻松地将符号链接切换到其原始目标。
  • 你永远不应该在 /usr /usr/bin 等下乱来 - 这就是 /usr/local/ 的用途。你可以这样做 ln -s /usr/bin/ruby2.0 /usr/local/bin/ruby 如果你要搞乱符号链接,那将是正确的 debian 方式。
  • 恕我直言,有不同的符号链接,从不同的位置到不同的 ruby​​ 版本是这两种解决方案的混乱。而且我仍然不明白为什么包装系统会被破坏。
  • 其他解决方案对我来说似乎非常简单和安全。
【解决方案3】:

你可以试试:

sudo apt-get install ruby2.0 ruby2.0-dev
sudo gem2.0 install jekyll-import 

【讨论】:

  • 我有一个类似上述问题的堆栈跟踪,它是用于构建 travis-citrusty 时的 sass 包。在帮助之前使用上面并做apt-get install build-essential
【解决方案4】:

我在 Ubuntu 14.04 上尝试以下操作:

sudo apt-get install ruby2.0 ruby2.0-dev
sudo apt-get install zlib1g-dev
sudo gem2.0 install jekyll

【讨论】:

    【解决方案5】:

    如果您已经安装了更高版本的 Ruby 并且您正在使用 rbenv,并且 gem 给出了相同的错误,那是因为您仍在使用旧版本的 gem。现在,您的文件系统中有两个名为 gem 的可执行文件。用“which”找出哪个 gem 是默认的:

    $ 哪个宝石

    如果您看到 */.rbenv/shims/gem 之类的内容,这不是您要使用的 gem 版本。 gem 的正确版本将在 /.rbenv/versions/[您的首选版本,即 2.0.0] 中。您可以通过包含可执行文件的完整路径来运行该版本的 gem:

    $ sudo /path/to/correct/gem install jekyll

    【讨论】:

      猜你喜欢
      • 2018-11-23
      • 2021-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-24
      • 2013-02-18
      • 2013-10-02
      相关资源
      最近更新 更多