简体   繁体   English

运行 bundle install 时出现 Nokogiri 错误

[英]Nokogiri error when running bundle install

Trying to get a cloned Rails app running.试图让克隆的 Rails 应用程序运行。 When running bundle install I get this error:运行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.

But this is the output for rbenv version :但这是rbenv version的输出:

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

When running gem list I get:运行gem list我得到:

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

I've been racking my brain for an hour now trying to figure out what can possibly be wrong... Please help!我已经绞尽脑汁一个小时了,试图找出可能是什么问题......请帮忙!

Edit:编辑:

Here's a more verbose error output:这是一个更详细的错误输出:

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

I'm using Mac OSX (El Capitan) and it appears to be related to Xcode Developer Tools.我正在使用 Mac OSX (El Capitan),它似乎与 Xcode Developer Tools 相关。 I ran xcode-select --install in my working directory, then reran bundle install command and it all worked fine after that ^^.我在我的工作目录中运行xcode-select --install ,然后重新运行bundle install命令,之后一切正常 ^^。

Hope this could help someone.希望这可以帮助某人。

I ran into this error and this is what worked for me:我遇到了这个错误,这对我有用:

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

The problem was with libxml :问题出在libxml

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

Turned out I was using the default system Ruby (and thus installing all the gems there in /Library/Ruby/Gems ) even though rbenv points to ruby-1.9.3 so that's why Nokogiri was complaining.原来我使用的是默认系统 Ruby(因此将所有 gem 安装在/Library/Ruby/Gems ),即使 rbenv 指向 ruby​​-1.9.3 所以这就是 Nokogiri 抱怨的原因。

Fixed this by adding this to $PATH, so rbenv loads before the system ruby:通过将其添加到 $PATH 来修复此问题,因此 rbenv 在系统 ruby​​ 之前加载:

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

make sure you have the latest version of command line tools.确保您拥有最新版本的命令行工具。 if you're not sure just run xcode-select --install and this will pop up a nice gui to guide you through the installation process.如果你不确定就运行xcode-select --install ,这会弹出一个很好的 gui 来指导你完成安装过程。 you can alternatively check the mac app store to see if you have an update there waiting for you.您也可以查看 mac 应用商店,看看是否有更新等着您。 the current version is Command Line Developer Tool for OS X 10.10 so you can see if Yosemite hasn't got a problem with that.当前版本是Command Line Developer Tool for OS X 10.10因此您可以查看 Yosemite 是否没有问题。 after getting the update, run sudo bundle install and you can have the latest version of nokogiri.获得更新后,运行sudo bundle install即可获得最新版本的 nokogiri。 good luck.祝你好运。

Try using an older version of nokogiri, it worked for me尝试使用旧版本的 nokogiri,它对我有用

gem 'nokogiri', '1.5.9'宝石“nokogiri”,“1.5.9”

以下对我有用:

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

如果 googler 同事正在使用 linux (ubuntu),那么安装 deb 包 zlib1g-dev 会有所帮助

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

On an Ubuntu machine these are the documentation suggestions for installing Nokogiri:在 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 https://nokogiri.org/tutorials/installing_nokogiri.html

I also had to: sudo apt-get install libxslt-dev libxml2-dev as explained in this so post: https://stackoverflow.com/a/6277635/5656846我还必须: sudo apt-get install libxslt-dev libxml2-dev如此帖子中所述: https : //stackoverflow.com/a/6277635/5656846

You just need to install Homebrew in your macOS你只需要在你的 macOS 中安装Homebrew

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM