发布 Ruby gem 到 RubyGem.org
Publishing Ruby gem to RubyGem.org
当我使用以下命令将自定义 ruby gem 发布到 https://rubygems.org 时
gem push d2w-0.1.0.gem
出现以下错误
ERROR: While executing gem ... (SocketError)
Failed to open TCP connection to mygemserver.com:80 (getaddrinfo: nodename nor servname provided, or not known)
我想知道为什么会出现这个错误,请告诉我我做错了什么
正如 Aleksei 提到的,您应该检查 gemspec 文件 gem。
在您的 gemspec 文件中,您可能会找到类似的内容(这是生成 gem 骨架后的默认设置):
spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
然后相应地更改规格如下:
# ...
if spec.respond_to?(:metadata)
spec.metadata["allowed_push_host"] = "https://rubygems.org"
spec.metadata["homepage_uri"] = spec.homepage
spec.metadata["source_code_uri"] = spec.homepage
#spec.metadata["changelog_uri"] = ""
else
raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
end
# ...
当我使用以下命令将自定义 ruby gem 发布到 https://rubygems.org 时
gem push d2w-0.1.0.gem
出现以下错误
ERROR: While executing gem ... (SocketError)
Failed to open TCP connection to mygemserver.com:80 (getaddrinfo: nodename nor servname provided, or not known)
我想知道为什么会出现这个错误,请告诉我我做错了什么
正如 Aleksei 提到的,您应该检查 gemspec 文件 gem。
在您的 gemspec 文件中,您可能会找到类似的内容(这是生成 gem 骨架后的默认设置):
spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
然后相应地更改规格如下:
# ...
if spec.respond_to?(:metadata)
spec.metadata["allowed_push_host"] = "https://rubygems.org"
spec.metadata["homepage_uri"] = spec.homepage
spec.metadata["source_code_uri"] = spec.homepage
#spec.metadata["changelog_uri"] = ""
else
raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
end
# ...