首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对于Jekyll::`delegate_method_as::CollectionDrop:Class (NoMethodError)的未定义方法,您的意思是?DelegateClass

对于Jekyll::`delegate_method_as::CollectionDrop:Class (NoMethodError)的未定义方法,您的意思是?DelegateClass
EN

Stack Overflow用户
提问于 2021-07-02 05:30:02
回答 2查看 1.3K关注 0票数 5

当我试图更新debian buster服务器上的jekyll项目时,我会得到以下错误:

代码语言:javascript
运行
复制
$ bundle exec jekyll build
Traceback (most recent call last):
    12: from /usr/local/bin/jekyll:23:in `<main>'
    11: from /usr/local/bin/jekyll:23:in `load'
    10: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/exe/jekyll:8:in `<top (required)>'
     9: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/exe/jekyll:8:in `require'
     8: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/lib/jekyll.rb:191:in `<top (required)>'
     7: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/lib/jekyll.rb:12:in `require_all'
     6: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/lib/jekyll.rb:12:in `each'
     5: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/lib/jekyll.rb:13:in `block in require_all'
     4: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/lib/jekyll.rb:13:in `require'
     3: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/lib/jekyll/drops/collection_drop.rb:3:in `<top (required)>'
     2: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/lib/jekyll/drops/collection_drop.rb:4:in `<module:Jekyll>'
     1: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/lib/jekyll/drops/collection_drop.rb:5:in `<module:Drops>'
/var/lib/gems/2.5.0/gems/jekyll-4.2.0/lib/jekyll/drops/collection_drop.rb:10:in `<class:CollectionDrop>': undefined method `delegate_method_as' for Jekyll::Drops::CollectionDrop:Class (NoMethodError)
Did you mean?  DelegateClass

jekyll build也是如此。

我也试过了:

代码语言:javascript
运行
复制
bundle update

几个月前它曾经是这样工作的。

我的项目是:https://github.com/freifunk-kiel/startseite/blob/master/Gemfile

我试图重新安装jekyll:

代码语言:javascript
运行
复制
PACKAGES="$(dpkg -l |grep jekyll|cut -d" " -f3|xargs )"
apt remove --purge $PACKAGES 

我有这些包裹

代码语言:javascript
运行
复制
jekyll ruby-jekyll-coffeescript ruby-jekyll-feed ruby-jekyll-gist ruby-jekyll-paginate ruby-jekyll-sass-converter ruby-jekyll-watch

然后重新安装:

代码语言:javascript
运行
复制
apt install jekyll

这将再次安装相同的软件包:

代码语言:javascript
运行
复制
jekyll ruby-jekyll-coffeescript ruby-jekyll-feed ruby-jekyll-gist ruby-jekyll-paginate ruby-jekyll-sass-converter ruby-jekyll-watch

但这也无济于事

更新:

我还尝试卸载所有jekyll软件包,然后安装更新的jekyll版本

代码语言:javascript
运行
复制
gem install jekyll jekyll-feed jekyll-gist jekyll-paginate jekyll-sass-converter jekyll-coffeescript

但这给了我另一个错误:

代码语言:javascript
运行
复制
# jekyll build --trace
Traceback (most recent call last):
        27: from /usr/local/bin/jekyll:23:in `<main>'
        26: from /usr/local/bin/jekyll:23:in `load'
        25: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/exe/jekyll:8:in `<top (required)>'
        24: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
        23: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
        22: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/lib/jekyll.rb:195:in `<top (required)>'
        21: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
        20: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
        19: from /var/lib/gems/2.5.0/gems/jekyll-sass-converter-2.1.0/lib/jekyll-sass-converter.rb:4:in `<top (required)>'
        18: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
        17: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
        16: from /var/lib/gems/2.5.0/gems/jekyll-sass-converter-2.1.0/lib/jekyll/converters/scss.rb:3:in `<top (required)>'
        15: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
        14: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
        13: from /var/lib/gems/2.5.0/gems/sassc-2.4.0/lib/sassc.rb:31:in `<top (required)>'
        12: from /var/lib/gems/2.5.0/gems/sassc-2.4.0/lib/sassc.rb:31:in `require_relative'
        11: from /var/lib/gems/2.5.0/gems/sassc-2.4.0/lib/sassc/native.rb:3:in `<top (required)>'
        10: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
         9: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
         8: from /usr/lib/ruby/vendor_ruby/ffi.rb:9:in `<top (required)>'
         7: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
         6: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
         5: from /usr/lib/ruby/vendor_ruby/ffi/ffi.rb:31:in `<top (required)>'
         4: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
         3: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
         2: from /usr/lib/ruby/vendor_ruby/ffi/platform.rb:32:in `<top (required)>'
         1: from /usr/lib/ruby/vendor_ruby/ffi/platform.rb:37:in `<module:FFI>'
/usr/lib/ruby/vendor_ruby/ffi/platform.rb:57:in `<module:Platform>': uninitialized constant FFI::Platform::CPU (NameError)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-15 18:31:57

  1. 卸载jekyll的apt版本:

PACKAGES="$(dpkg -l \grep jekyll\cut -d“”-f3|xargs )“适当删除--清除$PACKAGES

  1. 重要!卸载所有debian软件包后,清理您的依赖库:

数独apt自动移除

然后,

  1. 通过gem安装所有所需的jekyll软件包,例如:

sudo宝石安装jekyll jekyll-feed jekyll-gist jekyll-分页jekyll-sass-转换器jekyll-coffeescript

然后,在您的项目目录中运行

包更新

票数 10
EN

Stack Overflow用户

发布于 2021-07-15 16:35:36

卸载之后,尝试将Jekyll安装为ruby:

gem安装jekyll

这是唯一帮了我的忙

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68220028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档