RubyMine 远程 Ruby 解释器错误

RubyMine 远程 Ruby 解释器错误

我正在尝试通过 SSH 访问我的 Ubuntu VM,以用作 RubyMine v5.0.1 的远程解释器。但是,每当我成功验证并指向我的 ruby​​ 位置时,它都不会添加远程解释器。屏幕没有显示任何错误消息,这意味着我可以访问 ruby​​ 解释器。

在此处输入图片描述

在 RubyMine 日志文件中,我看到了这些信息:

Executing ssh command: env "JETBRAINS_REMOTE_RUN"="1" "PATH"="/usr/local/bin:$PATH" "RM_INFO"="RM-125.65" /usr/local/bin/ruby --disable-gems -e "puts $:" for [email protected]:22 
2013-02-19 00:32:49,705 [  35465]   INFO - emote.RubyRemoteProcessHandler - processWillTerminate():null 
2013-02-19 00:32:49,707 [  35467]  ERROR - plication.impl.ApplicationImpl - sdk home directory must not bee null (Remote:ruby-1.9.3-p362: 1.9.3 (ssh://[email protected]:22/usr/local/bin/ruby)) 
java.lang.AssertionError: sdk home directory must not bee null (Remote:ruby-1.9.3-p362: 1.9.3 (ssh://[email protected]:22/usr/local/bin/ruby))
    at org.jetbrains.plugins.ruby.ruby.sdk.RubySdkUtil.unCygwinizePath(RubySdkUtil.java:348)
    at org.jetbrains.plugins.ruby.ruby.sdk.RubySdkType.buildSdkLoadpath(RubySdkType.java:396)
    at org.jetbrains.plugins.ruby.ruby.sdk.RubySdkType$1.run(RubySdkType.java:326)
    at org.jetbrains.plugins.ruby.ruby.sdk.RubySdkType$2.run(RubySdkType.java:362)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$5.run(ProgressManagerImpl.java:297)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:501)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$6.run(ProgressManagerImpl.java:310)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:191)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:232)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:181)
    at com.intellij.openapi.application.impl.ApplicationImpl$8$1.run(ApplicationImpl.java:689)
    at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:462)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)
    at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:152)
2013-02-19 00:32:49,711 [  35471]  ERROR - plication.impl.ApplicationImpl - JetBrains RubyMine 5.0  Build #RM-125.65 
2013-02-19 00:32:49,711 [  35471]  ERROR - plication.impl.ApplicationImpl - JDK: 1.7.0_10 
2013-02-19 00:32:49,711 [  35471]  ERROR - plication.impl.ApplicationImpl - VM: Java HotSpot(TM) Client VM 
2013-02-19 00:32:49,711 [  35471]  ERROR - plication.impl.ApplicationImpl - Vendor: Oracle Corporation 
2013-02-19 00:32:49,711 [  35471]  ERROR - plication.impl.ApplicationImpl - OS: Windows 8 
2013-02-19 00:32:49,712 [  35472]  ERROR - plication.impl.ApplicationImpl - Last Action: EditorLineStart 
2013-02-19 00:32:49,713 [  35473]   INFO - esdk.transport.JschExecProcess - Executing ssh command: env "JETBRAINS_REMOTE_RUN"="1" "PATH"="/usr/local/bin:$PATH" "RM_INFO"="RM-125.65" /usr/local/bin/ruby /home/administrator/.rubymine_helpers/rb/exec_with_work_dir.rb /usr/local/bin /usr/local/bin/ruby -x /usr/local/bin/gem environment gempath for [email protected]:22 
2013-02-19 00:32:49,926 [  35686]   INFO - emote.RubyRemoteProcessHandler - processWillTerminate():null 
2013-02-19 00:32:49,928 [  35688]  ERROR - com.intellij.ide.IdeEventQueue - Error during dispatching of java.awt.event.MouseEvent[MOUSE_RELEASED,(47,48),absolute(1498,233),button=1,modifiers=Button1,clickCount=1] on win0 
java.lang.AssertionError: sdk home directory must not bee null (Remote:ruby-1.9.3-p362: 1.9.3 (ssh://[email protected]:22/usr/local/bin/ruby))

除了单词拼写错误之外be,让我注意到的是这个错误信息

sdk home directory must not bee null

但是,我不确定它期望 sdk 是什么或在哪里。我不确定它期望什么 sdk。由于我的 Ruby on Rails 服务器托管在 Linux 中,我真的很想在 Linux 中使用 ruby​​ 解释器,而不是基于 Windows 的解释器。(当应用程序在与服务器相同的平台上开发时,gems 会发挥更好的作用,即 rmagick、carrierwave 等)。

我需要做什么才能完成此连接并使用来自我的虚拟化 Ubuntu 开发服务器安装的 Linux Ruby 解释器。

不幸的是,我无法将 Ubuntu 作为我的主要操作系统,因为我经常参考在原生 Windows 上运行更好的基于 Windows 的应用程序。

编辑

他们发布了 RubyMine 5.0.2 更新来解决此问题。该更新于 2013 年 3 月 4 日起可用。

答案1

这是一个已知问题,已修复,修复将在 5.0.2 中提供

相关内容