运行Jekyll时出错:无法加载这样的文件 - google / api_client(LoadError) [英] Error when running Jekyll: cannot load such file -- google/api_client (LoadError)

查看:250
本文介绍了运行Jekyll时出错:无法加载这样的文件 - google / api_client(LoadError)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我必须重新安装OS X Yosemite 10.10.5,现在我运行我的Jekyll站点(以前工作正常)时出现以下错误:

  MacBook-Pro-Svetlana:iloveip svetlana $ jekyll serve 
WARN:Gem :: Specification.reset期间未解析的规格:
pygments.rb(〜> 0.6.0)
redcarpet(〜> 3.1)
jekyll-watch(〜> 1.1)
WARN:清除未解析的规格。
如果这导致问题,请报告错误。
配置文件:/Users/svetlana/Desktop/iloveip/_config.yml
/Users/svetlana/Desktop/iloveip/_plugins/page_view.rb:4:in`require':无法加载这样的文件 - - google / api_client(LoadError)
from /Users/svetlana/Desktop/iloveip/_plugins/page_view.rb:4:in`< top(required)>'
from / usr / local / lib / ruby​​ / gems / 2.2.0 / gems / jekyll-2.5.3 / lib / jekyll / plugin_manager.rb:74:在'require'
中从/usr/local/lib/ruby/gems/2.2。 0 / gems / jekyll-2.5.3 / lib / jekyll / plugin_manager.rb:74:在require_plugin_files中的block(2 levels)'
from /usr/local/lib/ruby/gems/2.2.0/ gems / jekyll-2.5.3 / lib / jekyll / plugin_manager.rb:73:在`each'
/usr/local/lib/ruby/gems/2.2.0/gems/jekyll-2.5.3/ lib / jekyll / plugin_manager.rb:73:在`block in require_plugin_files'
from /usr/local/lib/ruby/gems/2.2.0/gems/jekyll-2.5.3/lib/jekyll/plugin_manager。 rb:72:在`each'
/usr/local/lib/ruby/gems/2.2.0/gems/jekyll-2.5.3/lib/jekyll/plugin_manager.rb:72:in`r equire_plugin_files'
from /usr/local/lib/ruby/gems/2.2.0/gems/jekyll-2.5.3/lib/jekyll/plugin_manager.rb:18:in`conscientious_require'
from / / usr / local / lib / ruby​​ / usr / local / lib / ruby​​ / gems / 2.2.0 / gems / jekyll-2.5.3 / lib / jekyll / site.rb:79: gems / 2.2.0 / gems / jekyll-2.5.3 / lib / jekyll / site.rb:41:在`initialize'$ / $ b $ / from /usr/local/lib/ruby/gems/2.2.0/gems/ jekyll-2.5.3 / lib / jekyll / commands / build.rb:29:`new'
from /usr/local/lib/ruby/gems/2.2.0/gems/jekyll-2.5.3/ lib / jekyll / commands / build.rb:29:`process'
from /usr/local/lib/ruby/gems/2.2.0/gems/jekyll-2.5.3/lib/jekyll/commands/ serve.rb:26:在init_with_program的'block(2 levels)'中从/usr/local/lib/ruby/gems/2.2.0/gems/mercenary-0.3.5/lib/mercenary/command中获得
。 rb:220:在'call'中
from /usr/local/lib/ruby/gems/2.2.0/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in`block in从/usr/local/lib/ruby/gems/2.2.0/gems/mercenary-0.3.5/lib/执行'
' mercenary / command.rb:220:在`每个'
/usr/local/lib/ruby/gems/2.2.0/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:在`执行'
从/usr/local/lib/ruby/gems/2.2.0/gems/mercenary-0.3.5/lib/mercenary/program.rb:42:in`去'
from /usr/local/lib/ruby/gems/2.2.0/gems/mercenary-0.3.5/lib/mercenary.rb:19:in`program'
from / usr / local / lib / ruby​​ / gems / 2.2.0 / gems / jekyll-2.5.3 / bin / jekyll:20:在< top(必填)>'从/ usr / local / bin / jekyll:23: '
from / usr / local / bin / jekyll:23:in'< main>'

我为我的一个插件安装了google-api-clientgem。并且使用Homebrew brew install ruby​​ 安装了Ruby。当我检查Ruby版本时,我得到:

  MacBook-Pro-Svetlana:iloveip svetlana $ ruby​​ -v 
ruby​​ 2.2 .3p173(2015-08-18 revision 51636)[x86_64-darwin14]

但是当我运行 $ gem list google-api-client -d 我得到:

  MacBook -Pro-Svetlana:iloveip svetlana $ gem list google-api-client -d 

***本地GEMS ***

google-api-client(0.8.6 )
作者:Bob Aman,Steven Bazyl
主页:https://github.com/google/google-api-ruby-client/
许可证:Apache-2.0
已安装位于:/usr/local/lib/ruby/gems/2.2.0

Google API Ruby客户端使发现和访问
Google的REST API变得微不足道。

我想它必须在我的电脑上安装不同的Ruby版本。由于gem安装了 $ sudo gem install google-api-client


$ b (以前,Ruby是使用RVM安装的,但安装Jekyll时出现了一些错误,所以我卸载了RVM。)



以下是关于我的 gem环境的信息:

  MacBook-Pro-Svetlana:〜svetlana $ gem environment 
RubyGems环境:
- RUBYGEMS版本:2.4.5.1
- RUBY VERSION:2.2.3 2015-08-18 patchlevel 173)[x86_64-darwin14]
- 安装目录:/usr/local/lib/ruby/gems/2.2.0
- RUBY EXECUTABLE:/ usr / local / opt / ruby / bin / ruby​​
- 可执行目录:/ usr / local / bin
- SPEC CACHE DIRECTORY:/Users/svetlana/.gem/specs
- 系统配置目录:/ usr / local /Cellar/ruby/2.2.3/etc
- RUBYGEMS平台:
- ruby​​
- x86_64 - 达尔文-14
- 创业板路径:
- / usr / local / lib / ruby​​ / gems / 2.2.0
- /Users/svetlana/.gem/ruby/2.2.0
- /usr/local/Cellar/ruby/2.2.3/lib/ruby /gems/2.2.0
- GEM CONFI GURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- :sources => [https://rubygems.org/]
- 远程源:
- https://rubygems.org/
- SHELL路径:
- / usr / local / bin
- / usr / bin
- / bin
- / usr / sbin
- / sbin
- /Users/svetlana/.rvm/bin


解决方案

嗯。我一直在寻找这个问题。我找到了几个相同或相似的链接。试试这个:

_plugins / page_view.rb 文件中,第4行,放入

  requiregoogle / api_client



<而不是

  requiregoogle-api-client

似乎有一个错误的要求。


I had to reinstall OS X Yosemite 10.10.5 and now I get the following error when running my Jekyll site (previously it was working fine):

MacBook-Pro-Svetlana:iloveip svetlana$ jekyll serve
WARN: Unresolved specs during Gem::Specification.reset:
      pygments.rb (~> 0.6.0)
      redcarpet (~> 3.1)
      jekyll-watch (~> 1.1)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
Configuration file: /Users/svetlana/Desktop/iloveip/_config.yml
/Users/svetlana/Desktop/iloveip/_plugins/page_view.rb:4:in `require': cannot load such file -- google/api_client (LoadError)
    from /Users/svetlana/Desktop/iloveip/_plugins/page_view.rb:4:in `<top (required)>'
    from /usr/local/lib/ruby/gems/2.2.0/gems/jekyll-2.5.3/lib/jekyll/plugin_manager.rb:74:in `require'
    from /usr/local/lib/ruby/gems/2.2.0/gems/jekyll-2.5.3/lib/jekyll/plugin_manager.rb:74:in `block (2 levels) in require_plugin_files'
    from /usr/local/lib/ruby/gems/2.2.0/gems/jekyll-2.5.3/lib/jekyll/plugin_manager.rb:73:in `each'
    from /usr/local/lib/ruby/gems/2.2.0/gems/jekyll-2.5.3/lib/jekyll/plugin_manager.rb:73:in `block in require_plugin_files'
    from /usr/local/lib/ruby/gems/2.2.0/gems/jekyll-2.5.3/lib/jekyll/plugin_manager.rb:72:in `each'
    from /usr/local/lib/ruby/gems/2.2.0/gems/jekyll-2.5.3/lib/jekyll/plugin_manager.rb:72:in `require_plugin_files'
    from /usr/local/lib/ruby/gems/2.2.0/gems/jekyll-2.5.3/lib/jekyll/plugin_manager.rb:18:in `conscientious_require'
    from /usr/local/lib/ruby/gems/2.2.0/gems/jekyll-2.5.3/lib/jekyll/site.rb:79:in `setup'
    from /usr/local/lib/ruby/gems/2.2.0/gems/jekyll-2.5.3/lib/jekyll/site.rb:41:in `initialize'
    from /usr/local/lib/ruby/gems/2.2.0/gems/jekyll-2.5.3/lib/jekyll/commands/build.rb:29:in `new'
    from /usr/local/lib/ruby/gems/2.2.0/gems/jekyll-2.5.3/lib/jekyll/commands/build.rb:29:in `process'
    from /usr/local/lib/ruby/gems/2.2.0/gems/jekyll-2.5.3/lib/jekyll/commands/serve.rb:26:in `block (2 levels) in init_with_program'
    from /usr/local/lib/ruby/gems/2.2.0/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `call'
    from /usr/local/lib/ruby/gems/2.2.0/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `block in execute'
    from /usr/local/lib/ruby/gems/2.2.0/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `each'
    from /usr/local/lib/ruby/gems/2.2.0/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `execute'
    from /usr/local/lib/ruby/gems/2.2.0/gems/mercenary-0.3.5/lib/mercenary/program.rb:42:in `go'
    from /usr/local/lib/ruby/gems/2.2.0/gems/mercenary-0.3.5/lib/mercenary.rb:19:in `program'
    from /usr/local/lib/ruby/gems/2.2.0/gems/jekyll-2.5.3/bin/jekyll:20:in `<top (required)>'
    from /usr/local/bin/jekyll:23:in `load'
    from /usr/local/bin/jekyll:23:in `<main>'

I have 'google-api-client' gem installed for one of my plugins. And Ruby was installed using Homebrew brew install ruby. When I check Ruby version I get:

MacBook-Pro-Svetlana:iloveip svetlana$ ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin14]

But when I run $ gem list google-api-client -d I get:

MacBook-Pro-Svetlana:iloveip svetlana$ gem list google-api-client -d

*** LOCAL GEMS ***

google-api-client (0.8.6)
    Authors: Bob Aman, Steven Bazyl
    Homepage: https://github.com/google/google-api-ruby-client/
    License: Apache-2.0
    Installed at: /usr/local/lib/ruby/gems/2.2.0

    The Google API Ruby Client makes it trivial to discover and access
    Google's REST APIs.

I guess it has to do something with different Ruby versions installed on my computer. As the gem was installed with $ sudo gem install google-api-client. How can I fix that?

(Previously Ruby was installed using RVM, but I got some errors installing Jekyll, so I uninstalled RVM.)

Here's information about my gem environment:

MacBook-Pro-Svetlana:~ svetlana$ gem environment
RubyGems Environment:
  - RUBYGEMS VERSION: 2.4.5.1
  - RUBY VERSION: 2.2.3 (2015-08-18 patchlevel 173) [x86_64-darwin14]
  - INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/2.2.0
  - RUBY EXECUTABLE: /usr/local/opt/ruby/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - SPEC CACHE DIRECTORY: /Users/svetlana/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /usr/local/Cellar/ruby/2.2.3/etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-14
  - GEM PATHS:
     - /usr/local/lib/ruby/gems/2.2.0
     - /Users/svetlana/.gem/ruby/2.2.0
     - /usr/local/Cellar/ruby/2.2.3/lib/ruby/gems/2.2.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - :sources => ["https://rubygems.org/"]
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /Users/svetlana/.rvm/bin

解决方案

Mmmm. I've been looking for this problem. I've found several links with the same or similar. Try this:

In _plugins/page_view.rb file, line 4, put

require "google/api_client"

instead of

require "google-api-client"

It seems there is an erroneous require.

这篇关于运行Jekyll时出错:无法加载这样的文件 - google / api_client(LoadError)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆