windows 上的示例 ''Hola'" Rubygem 推送错误

Sample ''Hola'" Rubygem push error on windows

我正在按照此处找到的非常基本的教程进行操作:http://guides.rubygems.org/make-your-own-gem/

hola_username.rb:

class Hola
  def self.hi
    puts "Hello world!"
  end
end

hola_username.gemspec:

Gem::Specification.new do |s|
  s.name        = 'hola_username'
  s.version     = '0.0.0'
  s.date        = '2010-04-28'
  s.summary     = "Hola!"
  s.description = "A simple hello world gem"
  s.authors     = ["Surname Lastname"]
  s.email       = 'me.me@gmail.com'
  s.files       = ["lib/hola_username.rb"]
  s.homepage    =
    'http://rubygems.org/gems/hola_username'
  s.license       = 'MIT'
end

这就是该项目的全部内容。

我可以用

构建我的gem
gem build .\hola_username.gemspec

我也通过导入和执行 Hola class 的 hi 函数对其进行了测试,它有效:

PS E:\hola_username> gem install .\hola_username-0.0.0.gem
Successfully installed hola_username-0.0.0
Parsing documentation for hola_username-0.0.0
Done installing documentation for hola_username after 0 seconds
1 gem installed

&

irb(main):001:0> require 'hola_username'
=> true
irb(main):002:0> Hola.hi
Hello world!
=> nil
irb(main):003:0>

但是当我尝试

gem push .\hola_username-0.0.0.gem

我得到:

ERROR: While executing gem ... (Psych::SyntaxError) (): control characters are not allowed at line 1 column 1

有什么想法吗?

编辑:我在 windows 10 机器上使用 ruby 2.0.0p598

Edit v01: Anything 我在gem push 之后会出现上面的错误,貌似不是问题示例 rubygem.

编辑 v02:我的凭据文件在 .gem 文件夹中生成,但带有十六进制字符的星号:fffe2d002d00.. 哪个可能导致了问题?

我在 .gem 文件夹中的凭证文件是用 UCS2 - Little Endian 编码的,然后将它转换为没有 BOM 的 UTF 就成功了。

虽然我完全不知道为什么..