为什么我在设置 "Ruby SDK and Gems" 以使用 Vagrant 时在 Rubymine 中得到 "Error Copying Gems"
Why am I Getting "Error Copying Gems" in Rubymine while setting "Ruby SDK and Gems" to use Vagrant
我正在尝试配置 Ruby我的 6.3.3 以使用我的 vagrant 虚拟机中的 Ruby SDK 和 gem。
Ruby我的(至少,6.3.3)内置了对此的支持。要设置它,我执行以下操作:
- 点击 "File" -> "Settings"
- 单击 "Ruby SDK and Gems" 部分
- 通过单击“+”添加选项添加新遥控器 -> "New Remote"
- 单击 "Configure Remote Ruby Interpreter" 对话框中的 "Fill from Vagrant Config" 按钮,默认为以下设置(我覆盖了默认的密钥对设置,改为使用密码):
- 主机: 127.0.0.1
- 端口: 2222
- 用户名: vagrant
- 授权类型: 密码
- 密码: vagrant
- Ruby 解释器路径:/usr/bin/ruby(在来宾 OS 上用
$ which ruby
验证)
- 测试连接,点击"Test connection"按钮,连接成功
- 点击"OK"完成
当下载 gems 时,它递归地越来越深入 /usr/bin/X11/ 目录,如:
- /usr/bin/X11/gtk-launch
- /usr/bin/X11/X11/gtk-launch
- /usr/bin/X11/X11/X11/gtk-launch
- /usr/bin/X11/X11/X11/X11/gtk-launch
在那个循环卡了一段时间后,就卡在了下载各种gem,创建文件夹的循环(闪的太快看不清是什么文件夹)。
它最终以 "Error Copying Gems" 对话结束:
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".
单击“确定”后,它陷入了另一个尝试下载 gem 的循环,在第二次单击“确定”后出现相同的错误消息,它退出,只显示我的新 "Ruby SDK and Gems" 配置没有宝石。
虚拟机安装了以下版本:
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
为什么 Ruby我的不能正确配置这些 gem?
问题是 Ubuntu 具有的来自 /usr/bin/X11
=> /usr/bin/
的符号 link。这使 RubyMine 沿着递归 /usr/bin/X11/X11/X11/"
路径尝试寻找 gems,最终导致错误。
由于 OS 仅通过 Vagrant 用作虚拟机,因此我删除了 /usr/bin/X11 符号 link。这让 RubyMine 找到了宝石,一切都按预期工作。
注意:有一个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。
我正在尝试配置 Ruby我的 6.3.3 以使用我的 vagrant 虚拟机中的 Ruby SDK 和 gem。
Ruby我的(至少,6.3.3)内置了对此的支持。要设置它,我执行以下操作:
- 点击 "File" -> "Settings"
- 单击 "Ruby SDK and Gems" 部分
- 通过单击“+”添加选项添加新遥控器 -> "New Remote"
- 单击 "Configure Remote Ruby Interpreter" 对话框中的 "Fill from Vagrant Config" 按钮,默认为以下设置(我覆盖了默认的密钥对设置,改为使用密码):
- 主机: 127.0.0.1
- 端口: 2222
- 用户名: vagrant
- 授权类型: 密码
- 密码: vagrant
- Ruby 解释器路径:/usr/bin/ruby(在来宾 OS 上用
$ which ruby
验证)
- 测试连接,点击"Test connection"按钮,连接成功
- 点击"OK"完成
当下载 gems 时,它递归地越来越深入 /usr/bin/X11/ 目录,如:
- /usr/bin/X11/gtk-launch
- /usr/bin/X11/X11/gtk-launch
- /usr/bin/X11/X11/X11/gtk-launch
- /usr/bin/X11/X11/X11/X11/gtk-launch
在那个循环卡了一段时间后,就卡在了下载各种gem,创建文件夹的循环(闪的太快看不清是什么文件夹)。
它最终以 "Error Copying Gems" 对话结束:
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".
单击“确定”后,它陷入了另一个尝试下载 gem 的循环,在第二次单击“确定”后出现相同的错误消息,它退出,只显示我的新 "Ruby SDK and Gems" 配置没有宝石。
虚拟机安装了以下版本:
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
为什么 Ruby我的不能正确配置这些 gem?
问题是 Ubuntu 具有的来自 /usr/bin/X11
=> /usr/bin/
的符号 link。这使 RubyMine 沿着递归 /usr/bin/X11/X11/X11/"
路径尝试寻找 gems,最终导致错误。
由于 OS 仅通过 Vagrant 用作虚拟机,因此我删除了 /usr/bin/X11 符号 link。这让 RubyMine 找到了宝石,一切都按预期工作。
注意:有一个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。