加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – `dirname’:不能将nil转换为String(TypeError)

发布时间:2020-12-16 20:34:02 所属栏目:百科 来源:网络整理
导读:我不知道这是否真的在黄瓜,但是为了防止有些人有一个线索如何解决这个问题.基本上,我的测试突然停止工作,当我检查时,显示这个错误: C:/Vendor/Ruby187/lib/ruby/gems/1.8/gems/cucumber-rails-1.0.0/lib/cucumber/rails3.rb:3 in 'dirname': can't convert
我不知道这是否真的在黄瓜,但是为了防止有些人有一个线索如何解决这个问题.基本上,我的测试突然停止工作,当我检查时,显示这个错误:
C:/Vendor/Ruby187/lib/ruby/gems/1.8/gems/cucumber-rails-1.0.0/lib/cucumber/rails3.rb:3 in 'dirname': can't convert nil into String (TypeError)

是的,我第一次滚动我的眼睛,只是诅咒Windows,但我试过在我的Mac,我得到相同的:

/Users/eumir/.rvm/gems/ruby-1.8.7-p174@mygemset/gems/cucumber-rails-0.5.2/lib/cucumber/rails3.rb:3:in `dirname': can't convert nil into String (TypeError)

奇怪的是,它在不同的黄瓜轨道版本,我googled和第一个结果显示它是捆绑的错误(虽然我不能破译什么是关键…可能只是复制粘贴的东西?),最奇怪的是,黄瓜IS运行rspec规范时遇到这个问题.

以下3条线索指出,这不是黄瓜的错,但是为什么它就是黄瓜呢?如果你们中的任何一个人可以看出为什么会发生这种情况,你将会从几个小时的痛苦中救出我.

解决方法

这是由于捆绑者试图“自动请求”宝石造成的.在1.0中,bundler尝试gem名称(在这种情况下为“cucumber-rails”),如果找不到该文件(不是),则会窒息错误.

在捆绑器1.1.1中,bundler将“ – ”的实例替换为“/”,导致它自动需要“cucumber / rails”,导致Ewout描述的“意外”加载.

要解决,请设置:require =>在你的宝石文件中为false.

(注意:require => false并不意味着gem是可选的,只是Bundler不应该自动需要)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读