如何解决RubyMine出现"'ruby-debug-ide'未安装"的错误

35
我遇到了错误:
Cannot start debugger. Gem 'ruby-debug-ide' isn't installed or its executable script 'rdebug-ide' doesn't exist.

但是所有的gem都已成功安装:

gem 'ruby-debug-ide'
gem 'debase'

我可以手动运行'rdebug-ide':

$ rdebug-ide
Using ruby-debug-base 0.2.1
Usage: rdebug-ide is supposed to be called from RDT, NetBeans, RubyMine, or
       the IntelliJ IDEA Ruby plugin.  The command line interface to
       ruby-debug is rdebug.

但是当我开始调试时,RubyMine要求安装ruby-debug-ide gem。为什么?

安装后,我得到以下内容:

Cannot start debugger. Gem 'ruby-debug-ide' isn't installed or its executable script 'rdebug-ide' doesn't exist.

我使用的是Mac OS X 10.11.3操作系统。


你使用的是哪个版本的RubyMine/Ruby?我认为升级到最新版本可能会解决问题。 - Mohammad
我正在使用8.0.4版本,今天已经花费了几个小时来解决这个问题。 - JCii
我也遇到了这个问题。有任何更新吗? - thesmart
17个回答

18

这是我用过的实际命令:

gem install ruby-debug-ide --pre

是的,由于某种原因,RubyMine期望这个gem的预发布版本。 - Yury Bayda

13

补充Ahsan Ellahi

在你的终端中,你可能没有使用与Ruby Mine内部相同的ruby版本。你可以检查一下。

在Ruby Mine中

Preferences --> Laguanges and Frameworks --> Ruby SDK and Gems

在终端中

$ ruby -v

如果你的RubyMine版本与终端中运行的Ruby版本不同,请尝试将RubyMine设置为使用与终端相同的Ruby版本。这应该可以解决问题。如果你确实想要使用另一个Ruby版本,你需要进入终端,更改Ruby版本并手动安装两个gems。


我认为你可能想在“ruby-v”中加入一个空格:ruby -v。 - Keith Bennett

11

docker-compose环境下进行调试时,我曾经遇到过这个问题。我怀疑RubyMine在添加SDK后没有刷新可用gem列表。

因此,如果你先添加了SDK,然后再在Gemfile中添加ruby-debug-ide,你会得到错误信息。

相反地,在添加ruby-debug-ide之后,重新创建SDK即可。


4
现在远程SDK宝石清单顶部似乎出现了一个“同步宝石和Rubymine助手”的按钮。 - austinfromboston

8
我在从2017.x升级到2018.1后开始遇到这个问题。在我的情况下,似乎RubyMine需要一个更新的版本,但它的错误消息暗示它找不到任何版本并且无法安装。我认为它试图使用不同的SDK进行安装。
在我的情况下,手动安装最新的ruby-debugger-ide(必须使用--pre标志)然后重新启动RubyMine,问题就解决了。

2
由于您使用的是Mac OSX系统,我无法为您提供完全相同的答案,但您可以找到类似的方法。我正在使用带有Vagrant的Ubuntu,因此您可能需要稍微调整一下。
请从RubyMine/rb/gems应用程序文件夹中复制以下gem,与您的ruby运行时和平台相关的gem不同,对于不同的ruby运行时和平台,有不同的gem,在我的情况下,它们是:
- debase-0.3.0.beta7.gem - ruby-debug-ide-0.8.0.beta6.gem
将它们安装在您的应用程序主机上,例如我的是vagrant,您的情况可能是在容器内或者在您的主机操作系统内使用以下命令安装:
gem install --force --local *.gem
  1. 设置断点并开始调试。

可能会再次要求您安装 gem,但是调试肯定会起作用。


2
运行 gem uninstall ruby-debug-ide,然后再次运行调试器。IDE 应该会提示您再次安装正确的版本。

2

1

虽然这个链接可能回答了问题,但最好在此处包含答案的基本部分并提供参考链接。如果链接页面更改,仅链接的答案可能会失效。- 来自审查 - Mayur Prajapati
6
那正是我所做的。在链接后面阅读接下来的三行。 - JKettler

1
我在运行WSL2的Windows 11上遇到了这个问题。为了解决它,我手动将%AppData%目录中的相关文件复制到Ubuntu中相应的目录中。
我在以下位置找到了所有数据: C:\Users[USER]\AppData\Local\JetBrains\RubyMine[VERSION]\ruby_stubs\[NUMBER]\home\[USER]\.gem\ruby\2.7.0
这些文件被复制到了: \\wsl.localhost\Ubuntu\home\[USER]\.gem\ruby\2.7.0
这样做后,一切都正常工作了。

1
你应该查看RubyMine的设置,查看它使用的ruby版本和哪个gemset(全局/默认)。检查这些必需的gem安装在哪里,并确保RubyMine正在使用已成功安装这些gem的gemset。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接