【问题标题】:Ruby cannot find gem in gemsetRuby 在 gemset 中找不到 gem
【发布时间】:2015-07-30 05:54:01
【问题描述】:

如果我遗漏了一些明显的东西,我深表歉意。我是 Ruby 新手。

我的总体目标是为使用 rvm 和 gemsets 的现有脚本添加功能。

当我将新 gem 安装到特定 gemset 时,我的脚本中的 requires 无法找到它们。我正在使用以下 rvm 实例:

$ rvm current
jruby-1.6.7.2@preflight

确认:

$ which ruby
/Users/user/.rvm/rubies/jruby-1.6.7.2/bin/ruby
$ ruby -v
jruby 1.6.7.2 (ruby-1.8.7-p357) (2012-05-01 26e08ba) (Java HotSpot(TM) 64-Bit Server VM 1.8.0_11) [darwin-x86_64-java]

我将 gemset 指定为我安装给定的 gem(比如说xml-simple)。

$ rvm @preflight do gem install xml-simple
Successfully installed xml-simple-1.1.5
1 gem installed

验证 gem 安装正确:

$ gem list

*** LOCAL GEMS ***
...
xml-simple (1.1.5)
...

我们看到我在那里安装的模块。

按照the xml-simple instructions 包含模块,我运行这个脚本:

require 'xmlsimple'

结果:

$ ruby testver.rb
LoadError: no such file to load -- xmlsimple
  require at org/jruby/RubyKernel.java:1033
   (root) at testver.rb:1

我看到的一件可疑的事情是,打印出 RUBY_VERSION$LOAD_PATH 向我展示了这一点:

$ ruby testver.rb
1.8.7
/Users/user/.rvm/rubies/jruby-1.6.7.2/lib/ruby/site_ruby/1.8
/Users/user/.rvm/rubies/jruby-1.6.7.2/lib/ruby/site_ruby/shared
/Users/user/.rvm/rubies/jruby-1.6.7.2/lib/ruby/1.8
.

【问题讨论】:

  • 刚写完这篇文章,我遇到了另一个帖子的解决方案:stackoverflow.com/a/4209569/1258020。添加equire "rubygems" 有效。写出问题至少可以让我专注于问题点。有点像橡皮鸭。

标签: rvm jruby xml-simple


【解决方案1】:

在 Ruby 版本 1.9.2 之前需要添加 require "rubygems"per this stackoverflow answer。这解决了我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 2018-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多