【问题标题】:Unhandled exception when running Jekyll 4.0.0 using Bundler 1.17.2使用 Bundler 1.17.2 运行 Jekyll 4.0.0 时出现未处理的异常
【发布时间】:2019-12-09 19:18:35
【问题描述】:

我正在尝试根据instructions here 在我的服务器上为 Jekyll 设置自动部署。每当我在服务器上运行 Jekyll 命令时,我都会得到以下输出:

$ bundle install && bundle exec jekyll -v
(bundle install output)
Bundle complete! 6 Gemfile dependencies, 30 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.

Traceback (most recent call last):
    23: from /home/nk42/gems/bin/ruby_executable_hooks:24:in `<main>'
    22: from /home/nk42/gems/bin/ruby_executable_hooks:24:in `eval'
    21: from /home/nk42/gems/bin/jekyll:23:in `<main>'
    20: from /home/nk42/gems/bin/jekyll:23:in `load'
    19: from /home/nk42/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/exe/jekyll:8:in `<top (required)>'
    18: from /home/nk42/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/exe/jekyll:8:in `require'
    17: from /home/nk42/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll.rb:206:in `<top (required)>'
    16: from /home/nk42/.rvm/gems/ruby-2.6.3/gems/jekyll-4.0.0/lib/jekyll.rb:206:in `require'
    15: from /home/nk42/.rvm/gems/ruby-2.6.3/gems/jekyll-sass-converter-2.0.1/lib/jekyll-sass-converter.rb:4:in `<top (required)>'
    14: from /home/nk42/.rvm/gems/ruby-2.6.3/gems/jekyll-sass-converter-2.0.1/lib/jekyll-sass-converter.rb:4:in `require'
    13: from /home/nk42/.rvm/gems/ruby-2.6.3/gems/jekyll-sass-converter-2.0.1/lib/jekyll/converters/scss.rb:3:in `<top (required)>'
    12: from /home/nk42/.rvm/gems/ruby-2.6.3/gems/jekyll-sass-converter-2.0.1/lib/jekyll/converters/scss.rb:3:in `require'
    11: from /home/nk42/.rvm/gems/ruby-2.6.3/gems/sassc-2.2.1/lib/sassc.rb:31:in `<top (required)>'
    10: from /home/nk42/.rvm/gems/ruby-2.6.3/gems/sassc-2.2.1/lib/sassc.rb:31:in `require_relative'
     9: from /home/nk42/.rvm/gems/ruby-2.6.3/gems/sassc-2.2.1/lib/sassc/native.rb:5:in `<top (required)>'
     8: from /home/nk42/.rvm/gems/ruby-2.6.3/gems/sassc-2.2.1/lib/sassc/native.rb:6:in `<module:SassC>'
     7: from /home/nk42/.rvm/gems/ruby-2.6.3/gems/sassc-2.2.1/lib/sassc/native.rb:37:in `<module:Native>'
     6: from /home/nk42/.rvm/gems/ruby-2.6.3/gems/sassc-2.2.1/lib/sassc/native.rb:37:in `require_relative'
     5: from /home/nk42/.rvm/gems/ruby-2.6.3/gems/sassc-2.2.1/lib/sassc/native/lib_c.rb:3:in `<top (required)>'
     4: from /home/nk42/.rvm/gems/ruby-2.6.3/gems/sassc-2.2.1/lib/sassc/native/lib_c.rb:4:in `<module:SassC>'
     3: from /home/nk42/.rvm/gems/ruby-2.6.3/gems/sassc-2.2.1/lib/sassc/native/lib_c.rb:5:in `<module:Native>'
     2: from /home/nk42/.rvm/gems/ruby-2.6.3/gems/sassc-2.2.1/lib/sassc/native/lib_c.rb:10:in `<module:LibC>'
     1: from /home/nk42/.rvm/gems/ruby-2.6.3/gems/ffi-1.11.3/lib/ffi/library.rb:275:in `attach_function'
/home/nk42/.rvm/gems/ruby-2.6.3/gems/ffi-1.11.3/lib/ffi/library.rb:275:in `attach': unhandled exception

无论我使用bundle exec jekyll ... 还是只使用jekyll ...,我都会得到相同的输出,并且无论我在哪个目录中都会发生这种情况。

我可以在本地计算机上运行相同的东西并且它可以工作。在我的计算机和服务器上,我正在运行以下命令:

  • rvm 1.29.9(禁用自动库)
  • 红宝石 2.6.3p62
  • 宝石 3.0.3
  • 捆绑器版本 2.0.2
  • 杰基尔 4.0.0

服务器是 Dreamhost 共享主机帐户,运行 Ubuntu 18.04,我使用 Dreamhost's help page 上的说明设置 RVM。

我怀疑这是 Ruby/RVM 安装的问题,因为同一个项目在本地工作,但我不确定如何调试或在哪里查找信息。任何指针将不胜感激。

【问题讨论】:

  • 未处理的异常是什么?错误消息的最后一部分是否丢失?
  • 不,这是完整的输出。我唯一省略的是顶部的区域,该区域只有 bundle install 命令的大量输出 - 但我用“(bundle install output)”标记了它。
  • 为什么部分代码运行在/home/nk42/gems/bin/,另一部分运行在RVM下?您的服务器上是否有两个单独的 Ruby 安装?无论如何,看起来 sassc 库无法加载。 IE。我猜是某种二进制不兼容,或者缺少动态库。
  • 您可以尝试将捆绑包安装到供应商而不是 RVM 下。在您的项目目录中:bundle install --path vendor.
  • 如果所有其他方法都失败,请删除所有 ruby​​ 安装,仅重新安装一个,然后重试。当您为一个 Ruby 版本构建库,然后用另一个 Ruby 版本加载它时,通常会发生与库的二进制不兼容。如果您有一个系统 Ruby 和一个 RVM Ruby 在同一台机器上运行,则很容易错误地创建这种情况。

标签: ruby rubygems jekyll bundle rvm


【解决方案1】:

事实证明这是一个问题的组合。我仍然不完全确定确切的问题是什么,不幸的是,由于我不是相关服务器的管理员,因此我无法深入研究它。

采取以下步骤解决了问题:

  1. 运行gem install ffi; gem pristine --all。在此之后,jekyll 仍然给出了堆栈跟踪,但它看起来更像是 this thread. 上的错误
  2. 按照 #1 中链接的线程上的故障排除步骤删除 RVM。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 2019-01-14
    • 1970-01-01
    相关资源
    最近更新 更多