Reputation: 456
I'm trying to configure Rubymine 6.3.3 to use the Ruby SDK and gems from my vagrant virtual machine.
Rubymine (at least, 6.3.3) has built-in support for this. To set it up, I do the following:
$ which ruby
on guest OS)When downloading gems, it recursively goes deeper and deeper into the /usr/bin/X11/ directory like:
After getting stuck in that loop for a while, it gets stuck in a loop of downloading various gems, and creating a folder (which I cannot see what folder because it flashes too quickly).
It eventually ends with an "Error Copying Gems" dialogue stating:
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".
Upon clicking OK, it gets stuck in another loop of attempts at downloading the gems, and after clicking OK for a second time to the same error message, it exits, and just shows my new "Ruby SDK and Gems" configuration with no gems.
The virtual machine has the following versions installed:
vagrant@rails-dev-box:/vagrant $ ruby -v
ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-linux-gnu]
vagrant@rails-dev-box:/vagrant/ $ bundle -v
Bundler version 1.11.2
vagrant@rails-dev-box:/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
Why can Rubymine not configure these gems properly?
Upvotes: 0
Views: 174
Reputation: 456
The problem is the symbolic link from /usr/bin/X11
=> /usr/bin/
that Ubuntu has. This sent RubyMine down a recursive /usr/bin/X11/X11/X11/"
path trying to find gems, finally resulting in the error.
Since the OS is only being used as a virtual machine through Vagrant, I deleted the /usr/bin/X11 symbolic link. This allowed RubyMine to find the gems and everything worked as expected.
Note: There is a valid reason for the existence of this symbolic link. This answer is simply a workaround for RubyMine versions before 7.0, as this peculiar bug was fixed in RubyMine 7.0.
Upvotes: 0