我正在尝试通过 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 中提供