IntelliJ + Ruby插件的运行配置中“找不到Gemfile”错误

时间:2014-10-27 16:20:32

标签: ruby rspec intellij-idea configuration intellij-13

我尝试配置IntelliJ 13.1.5 + Ruby 6.5.2插件来运行RSpec测试。

当我去Run - >编辑配置并选中复选框"在捆绑包的上下文中运行脚本(捆绑执行)"在Bundler选项卡中,我收到错误"运行配置错误:找不到Gemfile"。见附件截图。

My Gemfile肯定存在于工作目录的根目录中。在下面查找ls -la输出:

drwxr-xr-x  27 lukasm  staff     918 27 Oct 09:23 .
drwxr-xr-x  38 lukasm  staff    1292 13 Oct 15:53 ..
-rw-r--r--@  1 lukasm  staff    6148 20 Oct 11:12 .DS_Store
drwxr-xr-x  16 lukasm  staff     544 27 Oct 15:50 .git
-rw-r--r--   1 lukasm  staff     334  7 Jul 12:14 .gitignore
drwxr-xr-x  13 lukasm  staff     442 27 Oct 15:51 .idea
-rw-r--r--   1 lukasm  staff     203 29 Aug 11:02 .rubocop.yml
-rw-r--r--   1 lukasm  staff       4  7 Jul 12:14 .ruby-gemset
-rw-r--r--   1 lukasm  staff       6  8 Jul 10:51 .ruby-version
-rw-r--r--   1 lukasm  staff     704 20 Oct 18:30 CPS.iml
-rw-r--r--   1 lukasm  staff     396  3 Sep 15:13 Gemfile
-rw-r--r--   1 lukasm  staff    2919 16 Oct 15:04 Gemfile.lock
-rw-r--r--   1 lukasm  staff    3426  7 Jul 12:14 README.md
-rw-r--r--   1 lukasm  staff    7436 24 Oct 17:54 Rakefile
drwxr-xr-x   3 lukasm  staff     102 27 Oct 11:42 config
-rw-r--r--   1 lukasm  staff    5234 13 Oct 16:02 config.yml
-rw-r--r--   1 lukasm  staff    7771 29 Sep 09:46 dump.rdb
-rw-r--r--   1 lukasm  staff  366256  5 Oct 10:28 eir_access.log
-rw-r--r--   1 lukasm  staff     528 26 Sep 16:15 eir_error.log
drwxr-xr-x  10 lukasm  staff     340  5 Aug 12:29 lib
-rw-r--r--   1 lukasm  staff    2168 11 Jul 11:13 results.xml
drwxr-xr-x   4 lukasm  staff     136  5 Aug 12:29 scripts
drwxr-xr-x   9 lukasm  staff     306 20 Oct 11:12 spec
drwxr-xr-x   2 lukasm  staff      68  8 Jul 16:38 src
drwxr-xr-x   9 lukasm  staff     306 16 Oct 15:04 stub_data
drwxr-xr-x   6 lukasm  staff     204 27 Oct 13:55 tmp
-rw-r--r--   1 lukasm  staff     472  7 Jul 12:14 uris.yaml

问题:如何修复该错误"运行配置错误:找不到Gemfile" ?

Run -> Edit Configurations

3 个答案:

答案 0 :(得分:2)

我今天遇到了同样的问题,经过几个小时我就能解决它。

发生此问题的环境是:Ubuntu 14.04.1,IntelliJ 13.1.5,Test :: Unit Test运行时UI附加到框架,RubyMine插件6.0.0.20140123,rbenv和Ruby 2.0.0-p594

要解决此问题"运行配置错误:找不到Gemfile",我不得不:

  • 删除位于项目根目录的Gemfile.lock
  • 从shell命令行,导航到项目根文件夹并运行" bundle install"所以Bundler开始从https://rubygems.org/ ........
  • 获取宝石元数据
  • 返回Intellij并在File - >重新选择项目的SDK。项目结构
  • 转到编辑配置,删除并重新创建rake配置

我希望这对你有用...我还做了其他一些我认为没必要的步骤,比如重新启动Intellij,重新导入项目,检查和关闭Test :: Unit以及bundler选项

最后,我想分享从头开始重现此问题我必须采取的步骤:

  • 将红宝石项目导入Intellij
  • 从shell命令,安装rbenv然后安装ruby 2.0.0-p594
  • 从Intellij,导航到文件 - >项目结构 - > Project并将SDK设置为rbenv 2.0.0-p594
  • 从shell命令,安装的bundler如下:gem install bundler
  • 然后回到Intellij我再次导航到文件 - >项目结构 - >项目并注意到SDK被设置回,我将SDK设置回rbenv 2.0.0-p594
  • 当我点击确定时,一个弹出窗口出现在IntellJ中,要求安装Ruby Plugin Gem Manager,所以我点击"安装缺少的宝石"链路
  • 安装结束后,我导航到编辑配置,切换到Bundler选项卡,一旦我选中在Bundler上下文中运行脚本复选框,我得到了"运行配置错误:找不到Gemfile& #34;

所以我认为在项目配置过程后期安装捆绑包会导致此问题浮出水面

答案 1 :(得分:0)

我有完全相同的错误,但在Windows上使用不同的rubymine版本,我使用Rack配置tempalte,这是我的答案通常它将是相同的概念:RubyMine不知何故只在"设置/项目中查找Gemfile :projectname / Project Structure"因此,如果您将缺少的Gemfile复制并粘贴到Parent Project目录中,它将被拾取。但是,我认为Rubymine还应该扫描存在Gemfile的子目录以包含它,或者可能rubymine有一种方法通过指定另一个Gemfile位置来覆盖默认的Gemfile - 我不知道。

答案 2 :(得分:0)

问题已为我解决。 我在RubyMine 2018.3.5版本中遇到了相同的问题。我发现我的项目结构是

Parent Folder 
              -> Project Folder 
                    -> Vendor folder
                    -> Gemfile (etc.)

当我将结构更改为

-> Project Folder 
    -> Vendor folder
    -> Gemfile (etc.)

然后就没有抱怨“找不到Gemfile”

我认为在Rubymine中调试必需的基本检查是

  • 按上述设置项目结构
  • 验证jruby版本及其gems(首选->语言和框架-> Ruby SDK和Gems)我的Jruby版本是9.1.7.0 enter image description here
  • 在“运行/调试配置”->“捆绑器”中,选中复选框Run the script in context of bundle (bundle exec)

以上几点是最开始的,您可能需要在配置后安装缺少的gem或正确版本的gem。