2013-06-20 157 views
19

試圖讓克隆的Rails應用程序運行。當運行bundle install我得到這個錯誤:運行軟件包安裝時出現Nokogiri錯誤

Using mini_portile (0.5.0) 
Installing nokogiri (1.6.0) 
Gem::InstallError: nokogiri requires Ruby version >= 1.9.2. 
An error occurred while installing nokogiri (1.6.0), and Bundler cannot continue. 
Make sure that `gem install nokogiri -v '1.6.0'` succeeds before bundling. 

但是,這是rbenv version輸出:

› rbenv version 
1.9.3-p429 (set by /Users/andrewguo/.rbenv/version) 

當運行gem list我得到:

. 
. 
. 
mini_portile (0.5.0) 
minitest (2.5.1) 
multi_json (1.7.7) 
nokogiri (1.6.0) 

我已經費盡我的大腦現在試圖弄清楚什麼可能是錯誤的...請幫忙!

編輯:

這裏有一個更詳細的錯誤輸出:

An error occurred while installing nokogiri (1.6.0), and Bundler cannot continue. 
Make sure that `gem install nokogiri -v '1.6.0'` succeeds before bundling. 
Bundler::InstallError: An error occurred while installing nokogiri (1.6.0), and Bundler cannot continue. 
Make sure that `gem install nokogiri -v '1.6.0'` succeeds before bundling. 
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/installer.rb:130:in `install_gem_from_spec' 
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/installer.rb:91:in `run' 
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/installer.rb:90:in `run' 
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/installer.rb:14:in `install' 
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/cli.rb:247:in `install' 
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/vendor/thor/task.rb:27:in `__send__' 
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/vendor/thor/task.rb:27:in `run' 
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/vendor/thor/invocation.rb:120:in `invoke_task' 
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/vendor/thor.rb:344:in `dispatch' 
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/vendor/thor/base.rb:434:in `start' 
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/bin/bundle:20 
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/friendly_errors.rb:3:in `with_friendly_errors' 
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/bin/bundle:20 
/usr/bin/bundle:19:in `load' 
/usr/bin/bundle:19 

回答

12

原來我使用的是默認系統Ruby(因此在/Library/Ruby/Gems中安裝了所有寶石),儘管rbenv指向ruby-1.9.3,所以這就是爲什麼Nokogiri抱怨。

export PATH="$HOME/.rbenv/bin:$PATH"

5

嘗試使用引入nokogiri的舊版本,它爲我工作

寶石 '引入nokogiri', '1.5.9'

+0

如何使用?寫在文件寶石? – user151968

1

用這個命令安裝舊版本:gem install nokogiri -v 1.5.5

11

請確保您有最新版本的

由系統紅寶石前加入這$ PATH,所以rbenv負荷修正此命令行工具。如果你不確定只是運行xcode-select --install,這將彈出一個很好的gui來指導你完成安裝過程。您可以選擇檢查Mac應用商店,看看您是否有更新。目前的版本是Command Line Developer Tool for OS X 10.10,所以你可以看到優勝美地是否沒有問題。獲得更新後,運行sudo bundle install,您可以獲得最新版本的nokogiri。祝你好運。

16

我遇到了這個錯誤,這是對我工作:

bundle config build.nokogiri --use-system-libraries 
bundle install 

的問題是與libxml

libxml2 is missing. Please locate mkmf.log to investigate how it is failing. 
+1

下一個爲我工作: sudo gem install nokogiri -v'1.6.6.2' - --use-system-libraries --with-xml2-include =/usr/include/libxml2 --with-xml2-lib =/usr/lib – mvladk

2

如果老鄉Google員工使用Linux(Ubuntu的),然後安裝deb包zlib1g-dev幫助

2

以下爲我工作:

gem install nokogiri -- --use-system-libraries 
25

我使用Mac OSX(El Capitan),它似乎與Xcode開發人員工具有關。我在我的工作目錄中運行了xcode-select --install,然後reran bundle install命令,並且在^^之後它一切正常。

希望這可以幫助某人。

+0

這也與macOS Sierra一起工作。 – Aaaron