【问题标题】:nokogiri error with ruby on rails?ruby on rails 的 nokogiri 错误?
【发布时间】:2013-06-07 23:06:55
【问题描述】:

尝试使用rails generate 命令时出现此错误:

gem install minitest
WARNING: Nokogiri was built against LibXML version 2.7.3, but has dynamically loaded 2.7.8

Could not open library 'libgtk-x11-2.0': dlopen(libgtk-x11-2.0, 13): image not found. 
Could not open library 'libgtk-x11-2.0.dylib': dlopen(libgtk-x11-2.0.dylib, 13): image not found.
Could not open library 'libgtk-x11-2.0.so.0': dlopen(libgtk-x11-2.0.so.0, 13): image not found.
Could not open library 'libgtk-x11-2.0.so.0.dylib': dlopen(libgtk-x11-2.0.so.0.dylib, 13): image not found.
Could not open library 'libgtk-x11-2.0.so': dlopen(libgtk-x11-2.0.so, 13): image not found.
Could not open library 'libgtk-x11-2.0.so.dylib': dlopen(libgtk-x11-2.0.so.dylib, 13): image not found.
Could not open library 'libgtk-3': dlopen(libgtk-3, 13): image not found.
Could not open library 'libgtk-3.dylib': dlopen(libgtk-3.dylib, 13): image not found.
Could not open library 'libgtk-3.so.0': dlopen(libgtk-3.so.0, 13): image not found.
Could not open library 'libgtk-3.so.0.dylib': dlopen(libgtk-3.so.0.dylib, 13): image not found.
Could not open library 'libgtk-3.so': dlopen(libgtk-3.so, 13): image not found.
Could not open library 'libgtk-3.so.dylib': dlopen(libgtk-3.so.dylib, 13): image not found

【问题讨论】:

  • 在 google 上搜索该错误,您会在 SO 上找到许多对相同或类似问题的引用。该命令以前在您的机器上运行过吗?您最近对 Ruby、Rails、Nokogiri 和操作系统进行了哪些更改?
  • 我已经尝试了所有谷歌结果。在 OSX 山狮上,rails generate 总是收到这个错误。
  • 您需要在创建问题时说明这一点。查看您在问题中提供的信息,并想象您想知道什么来帮助某人回答该问题,然后添加。我们无法看到您尝试过的内容或阅读错误消息和结果,因此您必须告诉我们。您给我们的长错误消息告诉我们的很少。
  • 这是关于 nokogiri 错误还是 libgtk 错误?即使有通知,生成命令也能工作吗? Gemfile 是否有需要 Linux 包的 libnotify 或类似的通知包?

标签: ruby-on-rails ruby rvm nokogiri


【解决方案1】:

对于 RVM:

rvm gemset pristine

对于非 RVM:

gem pristine nokogiri

【讨论】:

  • gem pristine nokogiri 应该解决任何使用 Nokogiri 的问题。
  • 确实解决了 nokogiri 问题,但是如果一个库已过时,很可能意味着其他库也已更新,更新所有 gem 更安全,rvm gemset pristine 比仅仅更好gem prisitine(所有 gem)因为它不会在第一个失败的 gem(手动给定的编译路径)上中断,它将遍历所有 gem 并返回失败的 gem 列表
【解决方案2】:

当您当前的 libxml 版本与编译时所针对的版本不同时,Nokogiri 往往会抱怨。然而,这并不总是导致它爆炸。甚至可能是一条红鲱鱼。我会从 gemfile 中删除 nokogiri 并查看错误是否仍然存在。如果是这样,那么我将开始删除其他内容。谷歌搜索您的错误消息表明它与使用 libnotify 的 gem 有关。

Image Not Found Errors after Upgrade to Rails 3.1, how to fix? rake db:migrate error (Function 'inotify_init' not found)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-19
    • 2017-06-15
    • 2014-04-17
    • 1970-01-01
    • 2011-03-17
    • 1970-01-01
    相关资源
    最近更新 更多