gpt4 book ai didi

ruby - `dirname' : can't convert nil into String (TypeError)

转载 作者:数据小太阳 更新时间:2023-10-29 06:37:31 26 4
gpt4 key购买 nike

我不确定这是否真的在 cucumber 中,但以防万一你们中的一些人知道如何解决这个问题。基本上,我的测试突然停止工作,当我检查时,它显示了这个错误:

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)

奇怪的是,它有不同的 cucumber 导轨版本,我用谷歌搜索,第一个结果显示这是 bunder 的错(虽然我无法破译要点是什么......也许只是复制粘贴的东西?)而且最奇怪的是, Cucumber 正在运行,我在运行 rspec spec 时遇到了这个问题。

下面的3条线索指出,这不是 cucumber 的错,但为什么要怪 cucumber 呢?如果你们中的任何人都可以提供线索来说明为什么会发生这种情况,那么您将让我免于再忍受几个小时的痛苦。

最佳答案

这是由 bundler 尝试“自动获取”gem 的方式引起的。在 1.0 中,bundler 会尝试 gem 名称(在本例中为“cucumber-rails”),如果找不到文件(它不是)则抑制错误。

在 bundler 1.1.1 中,bundler 将“-”的实例替换为“/”,导致它自动请求“cucumber/rails”,从而导致 Ewout 描述的“意外”加载。

要解决,请在您的 gemfile 中设置 :require => false

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

关于ruby - `dirname' : can't convert nil into String (TypeError),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7927669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com