23

试图让克隆的 Rails 应用程序运行。运行时bundle install出现此错误:

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
4

10 回答 10

28

我正在使用 Mac OSX (El Capitan),它似乎与 Xcode Developer Tools 有关。我xcode-select --install在我的工作目录中运行,然后重新运行bundle install命令,之后一切正常^^。

希望这可以帮助某人。

于 2015-11-17T14:54:26.100 回答
22

我遇到了这个错误,这对我有用:

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

问题出在libxml

libxml2 is missing.  Please locate mkmf.log to investigate how it is failing.
于 2014-11-13T02:09:34.800 回答
11

原来我使用的是默认系统 Ruby(并因此在其中安装了所有 gem /Library/Ruby/Gems),即使 rbenv 指向 ruby​​-1.9.3 所以这就是 Nokogiri 抱怨的原因。

通过将其添加到 $PATH 来修复此问题,因此 rbenv 在系统 ruby​​ 之前加载:

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

于 2013-06-20T02:30:43.370 回答
11

确保您拥有最新版本的命令行工具。如果您不确定只需运行xcode-select --install,这将弹出一个很好的 gui 来指导您完成安装过程。您也可以查看 mac 应用商店,看看是否有更新等着您。当前版本是Command Line Developer Tool for OS X 10.10这样您可以查看优胜美地是否对此没有问题。获取更新后,运行sudo bundle install,您可以获得最新版本的 nokogiri。祝你好运。

于 2014-11-08T01:55:52.897 回答
5

尝试使用旧版本的 nokogiri,它对我有用

宝石'nokogiri','1.5.9'

于 2013-06-20T02:12:18.023 回答
5

以下对我有用:

gem install nokogiri -- --use-system-libraries
于 2015-09-22T02:54:08.187 回答
2

如果谷歌同事使用的是 linux (ubuntu),那么安装 deb 包 zlib1g-dev 会有所帮助

于 2015-09-20T00:47:28.483 回答
1

使用以下命令安装旧版本:gem install nokogiri -v 1.5.5

于 2014-01-07T20:14:06.090 回答
1

在 Ubuntu 机器上,这些是安装 Nokogiri 的文档建议:

sudo apt-get install build-essential patch ruby-dev zlib1g-dev liblzma-dev
gem install nokogiri

https://nokogiri.org/tutorials/installing_nokogiri.html

我还必须: sudo apt-get install libxslt-dev libxml2-dev正如这篇文章中所解释的那样: https ://stackoverflow.com/a/6277635/5656846

于 2020-11-08T23:23:34.067 回答
0

你只需要在你的 macOS上安装Homebrew

在终端上运行/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

于 2019-04-05T01:21:47.830 回答