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

前端之家收集整理的这篇文章主要介绍了ruby – `dirname’:不能将nil转换为String(TypeError)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我不知道这是否真的在黄瓜,但是为了防止有些人有一个线索如何解决这个问题.基本上,我的测试突然停止工作,当我检查时,显示这个错误
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不应该自动需要)

原文链接:https://www.f2er.com/ruby/273675.html

猜你在找的Ruby相关文章