【问题标题】:Is the 'pathutil' ruby gem compatible with jekyll (v3.9.0) and ruby (v3.0.0)?'pathutil' ruby​​ gem 是否与 jekyll (v3.9.0) 和 ruby​​ (v3.0.0) 兼容?
【发布时间】:2021-04-08 20:49:30
【问题描述】:

我的问题:我有一个基于 jekyll 的静态网站;在运行bundle exec jekyll serve 之后(由 jekyll 文档指导),我得到了下面的堆栈跟踪。我在堆栈跟踪中为该博客文章文件创建的降价文件完全是标准语法。我已经用谷歌搜索了具体的错误,并得到了类似错误的帖子,但这些错误并不能解决我的问题。我还搜索了 jekyll 文档,看看是否有任何不兼容的地方。

           Writing: /home/REDACTED/projects/thomdlee.github.io/_site/jekyll/update/2020/12/28/currently-in-maintenance.html
                    done in 0.356 seconds.
jekyll 3.9.0 | Error:  no implicit conversion of Hash into Integer
/home/REDACTED/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/pathutil-0.16.2/lib/pathutil.rb:502:in `read': no implicit conversion of Hash into Integer (TypeError)
        from /home/REDACTED/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/pathutil-0.16.2/lib/pathutil.rb:502:in `read'

我的所有代码都可以在 github 上找到:https://github.com/thomdlee/thomdlee.github.io

我的环境:

  • Ubuntu 20.10(在 Windows 10 上的 WSL 2 中运行)
  • Ruby v3.0.0
  • Jekyll (gem) v3.9.0
  • pathutil (gem) v0.16.2

【问题讨论】:

  • 我遇到了同样的问题,同样的平台和 WSL2。我很紧张地说我有一个答案,因为我刚刚完全清除了我的 ruby​​ 配置。但是,使用 rbenv,我通过更新 Gemfile 使用 Ruby 2.7.2 和 Jekyll 4.2.0。现在性能也好多了。尝试降级 Ruby 并升级 Jekyll?
  • 所以现在基本上答案是否定的

标签: ruby ubuntu rubygems jekyll


【解决方案1】:

似乎pathutil 有弃用问题Link

我遇到了同样的问题,但是将 Ruby 降级到 2.7.x 解决了这个问题。

【讨论】:

  • arch 用户见rvm
【解决方案2】:

唯一的解决办法仍然是降级。

在 Arch Linux 上你可以做到

sudo pacman -S ruby2.7
cd /PATH/TO/YOUR/JEKYLL/PROJECT
bundle-2.7 install
bundle-2.7 exec jekyll serve

来源:https://bbs.archlinux.org/viewtopic.php?id=265534

【讨论】:

    【解决方案3】:

    我有同样的问题,但在 MacOS 环境中。

    为了修复它,我在项目文件夹中运行了以下命令:

    bundler update

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-03
      • 2021-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-24
      • 1970-01-01
      • 2012-09-21
      相关资源
      最近更新 更多