ruby - 在 eclipse 中配置 gem

标签 ruby eclipse gem

我正在尝试在 Eclipse 中从事流浪者/厨师项目。我对这两种技术都很陌生,对 ruby 有点生疏。我已经安装了 rdt 并且有一个带有代码的 ruby​​ 项目。

然而,eclipse 似乎并不理解 gems 是必需的。有没有办法让 ruby​​ gems 和 eclipse 一起玩得很好。我以为我可以将 gems 添加为库,但这似乎不起作用。

最佳答案

我在让 Eclipse 识别我安装的 gem 时遇到了一个非常相似的问题。 我使用的是 rvm,默认指向 ruby​​ 2.1.0。 我正在调试的 ruby​​ 代码在顶部有一个 require 'mail'。 运行或调试脚本时,控制台报错:

/Users/username/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- mail (LoadError)
     from /Users/username/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require'
`<main>'

Eclipse 在其 Preferences > Ruby > Interpreters 中配置了正确的 ruby​​:/Users/username/.rvm/rubies/ruby-2.1.0/bin/ruby

我知道 mail gem 是在 Eclipse 之外为那个 ruby​​ 安装的:

$ gem which mail
/Users/username/.rvm/gems/ruby-2.1.0/gems/mail-2.6.3/lib/mail.rb

我尝试了@Don Kirkby 的建议,即在调试配置中添加 -rubygems 作为解释器参数,但它仍然无效。

奇怪的是,让它工作的真正原因是将 GEM_HOMEGEM_PATH 变量添加到调试配置的环境部分。

通过在 Eclipse 之外的终端中回显它们,我找到了正确的值(我推测是由 rvm 设置的):

$ echo $GEM_HOME
/Users/username/.rvm/gems/ruby-2.1.0
$ echo $GEM_PATH
/Users/username/.rvm/gems/ruby-2.1.0:/Users/username/.rvm/gems/ruby-2.1.0@global

在 Debug Configurations > Environment 选项卡中将这两个添加为环境变量确实可以在 Eclipse 中进行调试,使用 Ruby Built-In Debugger 作为 Preferences 中的调试引擎。 顺便说一下,我尝试使用“Fast Ruby Debugger (ruby-debug)”引擎,但出现了这个错误:

dyld: lazy symbol binding failed: Symbol not found: _rb_vm_get_sourceline
  Referenced from: /Users/username/.rvm/gems/ruby-2.1.0/extensions/x86_64-darwin-12/2.1.0-static/debugger-1.6.8/ruby_debug.bundle
  Expected in: flat namespace

dyld: Symbol not found: _rb_vm_get_sourceline
  Referenced from: /Users/username/.rvm/gems/ruby-2.1.0/extensions/x86_64-darwin-12/2.1.0-static/debugger-1.6.8/ruby_debug.bundle
  Expected in: flat namespace

旁注:试图为 Fast Ruby Debugger 引擎找到 Symbol not found 错误的修复让我找到了这个线程:Debugging in ruby 1.9 ,这似乎暗示 ruby-debugdebugger gem 都不适合与 ruby​​ 2.0+ 一起使用,而是推荐 byebug gem 。但是因为我没有看到在 Eclipse 中使用 byebug 的方法,所以我最终使用了 Ruby Built-In Debugger 引擎和 debuggerruby-debug-ide gem :

$ gem install debugger
Successfully installed debugger-1.6.8
$ gem install ruby-debug-ide
Successfully installed ruby-debug-ide-0.4.26

这是我从这篇文章中得到的:https://endocode.com/blog/2012/09/03/debugging-ruby-1-9-3-applications-in-eclipse/

希望这对尝试使用 Eclipse 调试 Ruby 1.9/2.0+ 的人有所帮助。

关于ruby - 在 eclipse 中配置 gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6452539/

相关文章:

ruby方法缓存性能

ruby - 为什么 return 会跳过我的三元运算符中产生的值?

rubygems - RubyMine - 找不到 "directory_watcher"gem

ruby-on-rails - 将 Ruby on Rails 从版本 3.2.13 升级到 4.0.0 时遇到问题

ruby-on-rails - 无法使用Ckeditor、Paperclip和Ruby on Rails给图片模型添加参数

ruby - 从散列键转移值

ruby - FactoryBot 的随机特征

java - eclipse eclemma - 未找到包含 : osgi. bundle,org.eclipse.eclemma 的存储库

eclipse - 奇怪的 Eclipse Juno 插件交互

java - 代码在 gingerbird 上运行成功但果冻 bean 错误 : android. os.NetworkOnMainThreadException