zoukankan      html  css  js  c++  java
  • 更新Jekyll

    更新码云博客后,想在本地测试一下。上次更新仓库是2年前了,这次爆出一堆问题,参考网上一篇文章解决了。

    报错

    % jekyll serve
    zsh: /usr/local/bin/jekyll: bad interpreter: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: no such file or directory
    

    查看ruby版本

    % ruby --version
    ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]
    

    一、更新jekyll

    sudo gem install bundler jekyll
    

    又装了一大堆东西。

    新的报错

    % jekyll serve  
    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 /Library/Ruby/Gems/2.6.0/gems/jekyll-4.0.0/exe/jekyll:11:in `<top (required)>'
    	 9: from /Library/Ruby/Gems/2.6.0/gems/jekyll-4.0.0/lib/jekyll/plugin_manager.rb:52:in `require_from_bundler'
    	 8: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/bundler.rb:107:in `setup'
    	 7: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/bundler/runtime.rb:20:in `setup'
    	 6: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/bundler/runtime.rb:108:in `block in definition_method'
    	 5: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/bundler/definition.rb:226:in `requested_specs'
    	 4: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/bundler/definition.rb:237:in `specs_for'
    	 3: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/bundler/definition.rb:170:in `specs'
    	 2: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/bundler/spec_set.rb:85:in `materialize'
    	 1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/bundler/spec_set.rb:85:in `map!'
    /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/bundler/spec_set.rb:91:in `block in materialize': Could not find public_suffix-3.0.2 in any of the sources (Bundler::GemNotFound)
    

    更新bundle。很慢,还以为卡死了。中间要输密码。
    太慢了,因为Gemfile.lock写死了gem的源:

    GEM
      remote: https://rubygems.org/
    

    改镜像

    $ bundle config mirror.https://rubygems.org https://gems.ruby-china.com
    

    改完镜像,瞬间升级完成

    % bundle update
    

    还是报错

    % jekyll serve 
    Traceback (most recent call last):
    	10: from /usr/local/bin/jekyll:23:in `<main>'
    	 9: from /usr/local/bin/jekyll:23:in `load'
    	 8: from /Library/Ruby/Gems/2.6.0/gems/jekyll-4.0.0/exe/jekyll:11:in `<top (required)>'
    	 7: from /Library/Ruby/Gems/2.6.0/gems/jekyll-4.0.0/lib/jekyll/plugin_manager.rb:52:in `require_from_bundler'
    	 6: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/bundler.rb:107:in `setup'
    	 5: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/bundler/runtime.rb:26:in `setup'
    	 4: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/bundler/runtime.rb:26:in `map'
    	 3: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/forwardable.rb:230:in `each'
    	 2: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/forwardable.rb:230:in `each'
    	 1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/bundler/runtime.rb:31:in `block in setup'
    /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/bundler/runtime.rb:319:in `check_for_activated_spec!': You have already activated i18n 1.8.2, but your Gemfile requires i18n 0.9.5. Prepending `bundle exec` to your command may solve this. (Gem::LoadError)
    

    解:
    加上bundle exec,运行成功

    % bundle exec jekyll serve
    Configuration file: /Users/luojinrong/code/GitHub/obarong.github.io/_config.yml
                Source: /Users/luojinrong/code/GitHub/obarong.github.io
           Destination: /Users/luojinrong/code/GitHub/obarong.github.io/_site
     Incremental build: disabled. Enable with --incremental
          Generating... 
           Jekyll Feed: Generating feed for posts
                        done in 0.708 seconds.
     Auto-regeneration: enabled for '/Users/luojinrong/code/GitHub/obarong.github.io'
        Server address: http://127.0.0.1:4000/
      Server running... press ctrl-c to stop.
    

    二、升级本地仓库用的Jekyll版本(这节可以跳过)

    在仓库目录查看Jekyll版本会出现之前那个报错,要去没有Gemfile的目录。

    % jekyll -v
    jekyll 4.0.0
    

    在仓库目录实际用的是3.8.6

    % bundle exec jekyll -v
    jekyll 3.8.6
    

    修改Gemfile

    gem "jekyll", "~> 4.0.0"
    

    更新

    % bundle install
    The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
    Fetching gem metadata from https://rubygems.org/............
    Fetching gem metadata from https://rubygems.org/..
    You have requested:
      jekyll ~> 4.0.0
    
    The bundle currently has jekyll locked at 3.8.6.
    Try running `bundle update jekyll`
    
    If you are updating multiple gems in your Gemfile at once,
    try passing them all to `bundle update`
    
    % bundle update jekyll
    

    成功升级仓库的Jekyll。这下可以直接执行jekyll serve了。

    三、本地改用GitHub pages主题

    为什么GitHub pages的显示效果比我本地的好?

    修改Gemfile

    #gem "jekyll", "~> 4.0.0"
    ……
    gem "github-pages", group: :jekyll_plugins
    

    报错

    % bundle update github-pages
    Could not find gem 'github-pages'.
    

    解:

    % sudo gem install github-pages
    

    install和update走起

    % bundle update
    

    这下本地浏览效果跟GitHub一模一样,但是要加bundle exec启动。

    参考

    解决因macOS High Sierra更新Ruby到2.3造成的Jekyll不能启动的问题 | 大专栏
    https://www.dazhuanlan.com/2019/08/21/5d5c525c9e454/

    bundle install 无响应问题 | 大专栏
    https://www.dazhuanlan.com/2020/01/07/5e142e02df589/

    个人博客搭建之一步步使用Github Page创建博客主页(2) | 大专栏
    https://www.dazhuanlan.com/2020/02/02/5e366f389c663/

  • 相关阅读:
    TSQL入门(msdn)
    在代码中,获取Entity Framework生成的TSQL查询语句
    Code First(一)
    UDPClient的用法
    Building Applications that Can Talk(转)
    Asynchronous Web and Network Calls on the Client in WPF(摘录)
    DropBox能正常使用了
    显示GIF图标报错:“A generic error occurred in GDI+.”
    第 2 篇Scrum 冲刺博客
    第 1 篇 Scrum 冲刺博客
  • 原文地址:https://www.cnblogs.com/obarong/p/12596067.html
Copyright © 2011-2022 走看看