2016-04-24 5 views
0

Ruby SDKと迷惑メール仮想マシンを使用するようにRubymine 6.3.3を設定しようとしています。「Ruby SDKとGems」に「Vagrant」を使用するためにRubyineで「Error Copying Gems」を取得する理由

Rubymine(少なくとも6.3.3)にはこれが組み込まれています。それを設定するには、私は次の操作を行います。

  1. クリックして「ファイル」上 - >「設定」
  2. 「ルビーSDKおよび宝石」をクリックしてください
  3. クリックして新しいリモートを追加「+ "Add Remote Option" - > "New Remote"
  4. "Remote Ruby Interpreterの設定"ダイアログの "Fag from Vagrant Config"ボタンをクリックします。デフォルトでは以下の設定になっています(パスワードを使用する代わりにデフォルトのキーペア設定を上書きします) :
    • ホスト:127.0.0.1
    • ポート:2222
    • ユーザー名:パスワード
    • パスワード:放浪
    • Rubyインタプリタのパス:は/ usr
    • 認証タイプ浮浪者/ bin/ruby​​(ゲストOSで$ which rubyで確認)
  5. テスト接続は、宝石をダウンロードする場合

を終了する

  • 成功をクリックして「OK」である「接続テスト」ボタンをクリックすることで、それが再帰的に/の/ usrに深く深く行きますビン/ X11 /ディレクトリのような:

    • は/ usr/binに/ X11/GTK-打ち上げ
    • は/ usr/binに/ X11/X11/GTK-打ち上げは
    • は/ usr/binに/ X11/X11/X11/gtk-launch
    • は/ usr/binに/ X11/X11/X11/X11/GTK-打ち上げ

    しばらくの間、そのループ内で立ち往生した後、それが様々な宝石をダウンロードして、フォルダを作成するループ内で立ち往生(私はそれがあまりにも速く点滅するので、どのフォルダを見ることができません)。それは最終的に「コピーエラー宝石」で終わる

    対話が明記:

    Could not copy "sftp://127.0.0.1:2222/usr/bin/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/x86_64-linux-gnu-gcc-nm" to "file:///home/billy/.RubyMine60/system/ruby_stubs/-828640210/170586877/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11/x86_64-linux-gnu-gcc-nm". 
    

    OK、それは宝石をダウンロードしようとする試みの別のループで立ち往生クリックすると、そして2番目の時間のために[OK]をクリックした後同じエラーメッセージが出て終了し、宝石のない新しい "Ruby SDK and Gems"設定が表示されます。

    仮想マシンは、次のバージョンがインストールされています:

    [email protected]:/vagrant $ ruby -v 
    ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-linux-gnu] 
    [email protected]:/vagrant/ $ bundle -v 
    Bundler version 1.11.2 
    [email protected]:/vagrant/ $ gem environment 
    RubyGems Environment: 
        - RUBYGEMS VERSION: 2.4.5.1 
        - RUBY VERSION: 2.2.4 (2015-12-16 patchlevel 230) [x86_64-linux-gnu] 
        - INSTALLATION DIRECTORY: /var/lib/gems/2.2.0 
        - RUBY EXECUTABLE: /usr/bin/ruby2.2 
        - EXECUTABLE DIRECTORY: /usr/local/bin 
        - SPEC CACHE DIRECTORY: /home/vagrant/.gem/specs 
        - SYSTEM CONFIGURATION DIRECTORY: /etc 
        - RUBYGEMS PLATFORMS: 
        - ruby 
        - x86_64-linux 
        - GEM PATHS: 
        - /var/lib/gems/2.2.0 
        - /home/vagrant/.gem/ruby/2.2.0 
        - /usr/share/rubygems-integration/2.2.0 
        - /usr/share/rubygems-integration/all 
        - GEM CONFIGURATION: 
        - :update_sources => true 
        - :verbose => true 
        - :backtrace => false 
        - :bulk_threshold => 1000 
        - REMOTE SOURCES: 
        - https://rubygems.org/ 
        - SHELL PATH: 
        - /usr/local/sbin 
        - /usr/local/bin 
        - /usr/sbin 
        - /usr/bin 
        - /sbin 
        - /bin 
        - /usr/games 
        - /usr/local/games 
    

    はなぜルビーマインは、適切にこれらの宝石を設定することはできませんか?

    答えて

    0

    問題は、Ubuntuにある/usr/bin/X11 =>/usr/bin/のシンボリックリンクです。これはRubyMineに再帰的な/usr/bin/X11/X11/X11/"パスを送信して宝石を見つけようとしましたが、最終的にはエラーが発生しました。

    OSはVagrantによって仮想マシンとしてのみ使用されているので、私は/ usr/bin/X11シンボリックリンクを削除しました。これによりRubyMineは宝石を探し出し、すべてが期待どおりに機能するようになりました。

    注:このシンボリックリンクの存在については、valid reasonがあります。この回答は、RubyMineバージョン7.0以前の回避策です。peculiar bug was fixed in RubyMine 7.0です。

    関連する問題