Я пытаюсь получить доступ к своей Ubuntu VM через SSH, чтобы использовать ее в качестве удаленного интерпретатора для 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 administrator@192.168.1.250: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://administrator@192.168.1.250: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://administrator@192.168.1.250: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 administrator@192.168.1.250: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://administrator@192.168.1.250:22/usr/local/bin/ruby))
Помимо неверного написания слова « be
, вещь, которая указывает мне, это сообщение об ошибке
sdk home directory must not bee null
Тем не менее, я не уверен, что или где он ожидает SDK. Я не уверен, что SDK это ожидает. Так как мои серверы Ruby on Rails размещены в linux, я действительно хотел использовать интерпретатор ruby в linux вместо основанного на Windows. (Драгоценные камни играют лучше, когда приложение разрабатывается на той же платформе, что и сервер, то есть rmagick, carrierwave и т. д.).
Что мне нужно сделать, чтобы завершить это соединение и использовать интерпретатор ruby linux из моей установки Virtualized Ubuntu Development Server.
К сожалению, я не могу запустить Ubuntu в качестве основной ОС, так как я часто ссылаюсь на приложения для Windows, которые лучше работают на родной Windows.
РЕДАКТИРОВАТЬ
Они выпустили обновление RubyMine 5.0.2, которое решает эту проблему. Это доступно с 04.03.2013.