【问题标题】:require 'sqlite3' fails after gem install sqlite3gem install sqlite3 后需要'sqlite3'失败
【发布时间】:2012-10-13 21:49:15
【问题描述】:
# gem which sqlite3
/usr/lib64/ruby/gems/1.8/gems/sqlite3-1.3.6/lib/sqlite3.rb
# irb
irb(main):001:0> require 'sqlite3'
LoadError: no such file to load -- sqlite3
        from (irb):1:in `require'
        from (irb):1
        from :0

我是 ruby​​ 新手,但对 Perl 很熟悉。所以我怀疑它是 sqlite3 安装在“gem”知道但“irb”和“ruby”不知道的位置的库问题之一。谁能建议我可以解决此问题的方法?谢谢!

【问题讨论】:

  • 只是为了确认一下,您是否安装了 sqlite3(二进制文件,而不是 gem)?如果你使用的是 linux 发行版,你可以使用类似 `sudo-apt get install sqlite3' 之类的东西。
  • 我能够加载 sqlite3,但只有在我卸载了从 YUM 存储库安装的 ruby​​ 并从源代码安装 ruby​​ 1.9,然后通过安装了 ruby​​ 1.9 的 gem 安装 sqlite3。
  • 很高兴听到这个消息!如果我可以推荐考虑使用 rvm 来管理您的红宝石。此外,在 2 天内它应该允许您回答您的问题并将其标记为答案。这样,问题就会显示为已关闭,未来的人可能会从您的经验中受益。
  • 谢谢 Sunny 我会考虑这样做的
  • 我不知道,但是如果有 sqlite3 二进制文件,gem 会被安装吗,我的直接想法是,他使用的是 ruby​​ 1.8,在需要之前不需要 require 'rubygems'其他宝石?自从他安装了不需要require 'rubygems' 的1.9 后,问题就解决了。那么使用 rvm 是比使用系统 ruby​​ 更好的选择

标签: ruby sqlite gem


【解决方案1】:

问题基本上不是因为缺少二进制文件。如果您缺少 sqlite3 的二进制文件,gem install sqlite3 将会失败,因此不会安装 gem。并且不会在gem list 命令中列出。

我从终端给定的输出中读到的是,您使用的是 ruby​​ 1.8.*,在这些版本及以下版本中,您首先需要 require 'rubygems'

问题后来解决了,因为您将 ruby​​ 升级到 1.9.*,在其中您可以立即要求您的 gem,而无需使用 require 'rubygems'

始终建议使用 rvm ruby​​。有关 rvm 的安装和使用的详细信息,请参阅here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-17
    • 2012-09-09
    • 1970-01-01
    • 2017-01-16
    • 2013-05-06
    • 2016-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多