【问题标题】:Ruby + Eclipse + "Dynamic Languages Toolkit for Ruby" pluginRuby + Eclipse + "Dynamic Languages Toolkit for Ruby" 插件
【发布时间】:2013-12-10 10:52:11
【问题描述】:

我在 Eclipse 中安装了 Dynamic Languages Toolkit for Ruby 插件,但它不起作用:

详情:

  • Eclipse 版本: Eclipse 4.2.2
  • 操作系统详情: Ubuntu 10.04
  • Ruby 版本: ruby​​ 1.9.2p180

这是我的红宝石代码:

# cat array.rb 
#!/usr/bin/ruby
require "awesome_print"

hash = {
        :name => "your_self",
        :place => ["where", "somewhere"],
} 
ap hash

这是从 Eclipse 运行时的错误:

<internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- awesome_print (LoadError)

不过,我可以从控制台手动运行此代码,它会为我提供输出:

# ruby array.rb 
{
     :name => "your_self",
    :place => [
        [0] "where",
        [1] "somewhere"
    ]
}

不用说,我确实安装了awesome_print gem:

# gem list | grep awesome
awesome_print (1.2.0)

在 Eclipse 中,我确实设置了 ruby​​ 解释器,如下所示:

问题:仅当我在代码中使用 require 时才会出现此问题。否则 Eclipse 可以很好地运行 ruby​​ 代码。我在日食中缺少什么?

更新:

如果我使用:

require "/usr/local/lib/ruby/gems/2.0.0/gems/awesome_print-1.2.0/lib/awesome_print.rb"

那么 Eclipse 就可以正常运行代码了。所以我认为这与 ruby​​/eclipse search path 的东西有关。

【问题讨论】:

    标签: ruby eclipse eclipse-plugin require dltk


    【解决方案1】:

    发生了一些奇怪的事情。我必须改成#!/usr/local/bin/ruby,而不是#!/usr/bin/ruby

    我不得不在 Eclipse 中对 ruby​​ 解释器设置进行类似的更改。现在我的代码运行良好。

    所以,现在我意识到我实际上安装了两个版本的 ruby​​:

    # /usr/bin/ruby -v
    ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux]
    # /usr/local/bin/ruby -v
    ruby 2.0.0p353 (2013-11-22 revision 43784) [i686-linux]
    

    我不知道2.0.0这个版本是怎么安装的。

    我只安装了1.9.2。然后跑gem install awesome_print

    所以,如果我将 shebangeclipse 更改为使用 ruby​​ 2.0.0,它工作正常。可能我的awesome_print 只安装了 2.0.0

    这太令人困惑了。反正。我现在很好。红宝石学习!!!

    但是话又说回来,为什么即使使用 ruby​​ verion 1.9.2 也能从命令行正常运行相同的程序?

    更新:

    所以,我错了,当我运行 ruby array.rb 时,它实际上正在运行 /usr/local/bin/ruby,因此它可以从命令行运行。但是在eclipse中,我将ruby解释器设置为/usr/bin/ruby,即1.9.2.,它给出了错误。

    我可以通过运行 /usr/bin/ruby array.rb 从命令行重现相同的错误。

    所以...

    这意味着,我安装的 ruby​​ 1.9.2 不好。我仍然不知道 ruby​​ 2.0.0 来自哪里。但是现在,我应该卸载并摆脱1.9.2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-09
      • 1970-01-01
      • 2017-10-05
      • 1970-01-01
      • 1970-01-01
      • 2011-04-21
      • 2018-06-29
      相关资源
      最近更新 更多