【问题标题】:public_suffix not getting installed while running bundle install jekyll github-pages运行 bundle install jekyll github-pages 时未安装 public_suffix
【发布时间】:2015-08-28 06:18:48
【问题描述】:

我在 jekyll 有一个博客,我想在 github-pages 上发布它。 从这里参考: https://help.github.com/articles/using-jekyll-with-pages。 但是我在运行 bundle install 时遇到了这个错误

Gem::InstallError: public_suffix requires Ruby version >= 2.0.
An error occurred while installing public_suffix (1.5.1), and Bundler cannot continue.
Make sure that `gem install public_suffix -v '1.5.1'` succeeds before bundling.

以下是我的 gem env 的详细信息 宝石环境:

    RubyGems Environment:
    - RUBYGEMS VERSION: 2.2.3
    - RUBY VERSION: 2.1.6 (2015-04-13 patchlevel 336) [x86_64-linux-gnu]
    - INSTALLATION DIRECTORY: /var/lib/gems/2.1.0
    - RUBY EXECUTABLE: /usr/bin/ruby2.1
    - EXECUTABLE DIRECTORY: /usr/local/bin
    - SPEC CACHE DIRECTORY: /home/ashwin/.gem/specs
    - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
    - GEM PATHS:
     - /var/lib/gems/2.1.0
     - /home/ashwin/.gem/ruby/2.1.0
     - /usr/share/rubygems-integration/2.1.0
 - /usr/share/rubygems-integration/2.1
 - /usr/share/rubygems-integration/all
 - GEM CONFIGURATION:
 - :update_sources => true
 - :verbose => true
 - :backtrace => false
 - :bulk_threshold => 1000
 - REMOTE SOURCES:
 - https://rubygems.org/
 - SHELL PATH:
 - /usr/local/heroku/bin
 - /usr/local/sbin
 - /usr/local/bin
 - /usr/sbin
 - /usr/bin
 - /sbin
 - /bin
 - /usr/games
 - /usr/local/games

【问题讨论】:

    标签: ruby bundle jekyll github-pages


    【解决方案1】:

    和你一样,我的 ruby​​ 版本是正确的,但我的解决方法是重新安装 bundler。

    sudo gem install bundler
    

    【讨论】:

    • 这个修复对我有用(虽然在没有sudo的Dockerfile中);出于某种原因,在运行gem update --system 之后,bundler 本身开始出现问题。
    【解决方案2】:

    尝试不使用sudo 进行安装。

    在使用rbenv(即installed without admin rights)将Ruby 升级到2.2.3 后,我遇到了同样的问题。

    升级后,我运行sudo gem install github-pages,导致上述错误。运行 gem install github-pages 效果很好。

    然后,试图让 Jekyll 为我的页面提供服务,我运行了bundle exec jekyll serve,它告诉我缺少一些包。 bundle install 也修复了这个问题,bundle exec jekyll serve 工作正常。

    【讨论】:

      【解决方案3】:

      在捆绑之前确保gem install public_suffix -v '1.5.1' 成功。

      【讨论】:

      • 错误:找不到有效的 gem 'public_suffix' (= 1.5.1),原因如下:无法从 rubygems.org 下载数据 - 没有这样的名称 (api.rubygems.org/specs.4.8.gz)
      • 我也尝试过使用 sudo gem install github-pages :构建原生扩展。这可能需要一段时间... 错误:安装 github-pages 时出错:错误:无法构建 gem 原生扩展。 /usr/bin/ruby2.1 extconf.rb mkmf.rb 在 /usr/lib/ruby/include/ruby.h 找不到 ruby​​ 的头文件 extconf 失败,退出代码 1 Gem 文件将继续安装在 /var/ lib/gems/2.1.0/gems/fast-stemmer-1.0.2 进行检查。结果记录到 /var/lib/gems/2.1.0/extensions/x86_64-linux/2.1.0/fast-stemmer-1.0.2/gem_make.out
      • 我猜我们的 ruby​​ 有问题。我建议你使用 rbenv (github.com/sstephenson/rbenv) 并尝试更新到像 2.1.1 这样的上 ruby​​ 版本
      【解决方案4】:

      我遇到了同样的问题,这个命令解决了。

      sudo gem install github-pages -v 33

      然后运行 ​​jekyll。

      bundle exec jekyll serve

      See here

      【讨论】:

      • 尝试重新安装捆绑程序:$sudo gem install bundler。然后在您的目录中尝试$bundler installGemfile 所在的位置。
      【解决方案5】:

      在过去,我在安装 github 页面或 Jekyll 依赖项时也遇到过问题,因为在您的项目文件夹的完整路径中的某处有一个空格,并且显然某些依赖项无法处理文件名中的空格。

      最近这似乎发生在我的 public_suffix 版本 4.0.5 中,我的用户名中的空格导致它中断

      http_parser 也发生了这种情况

      【讨论】:

        猜你喜欢
        • 2015-11-29
        • 1970-01-01
        • 2016-08-02
        • 1970-01-01
        • 2011-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多