我是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显示用于该项目的宝石集不是用于检查所需宝石的宝石集。
感谢您的想法/反馈。
桑杰。
- 使用
.rvmrc
文件,RubyMine无法识别其他文件。样品内容rvm use ruby-1.9.3@myapp --create
- 有时,当你添加一个新的宝石集,并且你已经运行了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脚本