RubyMine忽略了我的Gemset

时间:2013-11-21 05:50:35

标签: ruby-on-rails cucumber rvm rubymine gemset

我是RubyMine的新手,我已将现有项目导入IDE。我有很多gemsets,我在项目中正确设置了.ruby-version和.ruby-gemset文件,所以当我进入我的项目目录时,自动使用正确的gemset。显示在“Ruby SDK和Gems”下的RubyMine设置中使用相同的gemset。然而,当我加载项目时,它抱怨缺少宝石 - 而在我的命令行上的“bundle install”表明一切都很好。

然后我尝试运行Cucumber Scenario Step并且它抱怨没有安装cucumber-rails gem但是在命令行上执行“bundle show cucumber-rails”显示它安装在正确的位置。我还确认在使用gemset的RubyMines中。

不确定为什么抱怨缺少宝石我通过RubyMine运行了bundle install命令,然后将所有宝石安装在我不用于此项目的不同版本的ruby下。

所以我不确定为什么RubyMine显示用于项目的gemset不是用于检查所需宝石的那个。

感谢您的想法/反馈。

桑杰。

3 个答案:

答案 0 :(得分:0)

  1. 使用.rvmrc文件,而RubyMine无法识别其他文件。示例内容rvm use ruby-1.9.3@myapp --create
  2. 有时当你添加一个新的宝石集并且你已经运行了rubymine时,你需要重新启动才能重新扫描宝石。这种情况并不常见,但有时当您打开多个窗口时,似乎有必要。

答案 1 :(得分:0)

这是我在阅读JetBrains says about .rvmrc files

之后实施的解决方案

RubyMine信息

  

如果您为项目提供了.rvmrc文件,RubyMine会在项目开放时解析此文件。项目.rvmrc文件中指定的Ruby SDK和gem集显示在Settings对话框的Ruby SDK和Gems页面中。如果注释掉rvm use命令,则RubyMine不会更改设置。

     

对项目.rvmrc文件所做的任何更改仅在项目重新启动后应用。

解决方案

因此,我编辑了.rvmrc文件以取消注释rvm use部分,如上所述。因此,这个:
# echo "rvm use 2.1.2@blocmetrics" > .rvmrc
成了这个:
echo "rvm use 2.1.2@blocmetrics" > .rvmrc(删除了#评论符号)

另外,我选择了Settings > Language & Frameworks > Ruby SDK and Gems > Ignore global gempath
prevents RubyMine from using the global gempath

这些更改似乎有效,RubyMine现在选择我正确的gemset。我通过进入RubyMine终端并检查rvm gemset list来确认我选择了正确的gemset来验证。

答案 2 :(得分:0)

此信息可能会有所帮助 https://github.com/microsoft/vscode-remote-release/issues/930

我的主要问题是在没有cd命令的情况下打开项目的文件夹。 我设法通过添加cd来解决此问题。到我的.bashrc脚本