RubyMine忽略了我的宝石



我是RubyMine的新手,我已经将一个现有的项目导入到IDE中。我有很多gemset,我在项目中正确设置了.ruby版本和.ruby gemset文件,所以当我转到项目目录时,正确的gemset会自动使用。在"RubySDK和宝石"下的RubyMine设置中显示了相同的宝石集。然而,当我加载项目时,它抱怨缺少gems,而我的命令行上的"bundle install"表示一切都很好。

然后我尝试运行Cucumber Scenario Step,它抱怨Cucumber rails gem没有安装,但在命令行上执行"bundle show Cucumber rails"显示它安装在正确的位置。我还证实,在RubyMines的宝石下面正在使用。

我不知道它为什么抱怨缺少gems,我通过RubyMine运行了bundle安装命令,它继续将所有gems安装在我不用于该项目的不同版本的ruby下。

因此,我不确定为什么RubyMine显示用于该项目的宝石集不是用于检查所需宝石的宝石集。

感谢您的想法/反馈。

桑杰。

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

以下是我在阅读JetBrains关于.rvmrc文件的介绍后实现的解决方案:

RubyMine信息

如果您为项目提供了.rvmrc文件,RubyMine会在项目打开时解析该文件。在项目.rvmrc文件中指定的Ruby SDK和gem集显示在"设置"对话框的"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
这阻止了RubyMine使用全局gempath。

这些变化似乎奏效了,RubyMine现在选择了我正确的宝石。我通过进入RubyMine终端并检查rvm gemset list来确认我选择了正确的宝石集。

也许这些信息会有所帮助https://github.com/microsoft/vscode-remote-release/issues/930

我的主要问题是当我用cd命令打开项目的文件夹时。我设法通过添加cd来解决这个问题。到我的.bashrc脚本

最新更新