Ruby:捆绑软件不适用于rbenv(路径名包含空字节(ArgumentError)

时间:2019-03-23 17:31:59

标签: ruby rubygems bundler rbenv

我已经创建了一个RubyGem,今天,我要更新依赖关系,但是现在我进入gem的目录并键入bundle install后,我得到了this错误,其最后一行是:< / p>

/Users/myuser/.rbenv/versions/2.6.2/lib/ruby/2.6.0/rubygems/specification.rb:2663:in `directory?': path name contains null byte (ArgumentError)

我已经重新安装了捆绑器,更新了系统gem,等等,但是似乎没有任何作用。如何避免这种情况?

非常感谢!

2 个答案:

答案 0 :(得分:1)

检查您的gemspec文件,在我的情况下,我错误地将双引号替换为围绕空字符的单引号。

-    `git ls-files -z`.split('\x0').reject { |f| f.match(%r{^(test|spec|features)/}) }
+    `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }

答案 1 :(得分:0)

转到项目的根目录并运行以下命令

rbenv global 2.6.2
gem install bundler
rbenv rehash
bundle install