如何安全地修复webrobots-0.0.10.gemspec的 "规格中的无效日期格式"?[英] How to safely fix "invalid date format in specification" for webrobots-0.0.10.gemspec

本文是小编为大家收集整理的关于如何安全地修复webrobots-0.0.10.gemspec的 "规格中的无效日期格式"?的处理方法,想解了如何安全地修复webrobots-0.0.10.gemspec的 "规格中的无效日期格式"?的问题怎么解决?如何安全地修复webrobots-0.0.10.gemspec的 "规格中的无效日期格式"?问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

对于每个 gem 执行,我都会收到以下错误:

Invalid gemspec in [...rvm/gems/ruby-1.9.2-p136/specifications/webrobots-0.0.10.gemspec]: invalid date format in specification: "2011-07-01 00:00:00.000000000Z"

我不是 webrobots 维护者,我无法卸载该 gem.

有任何安全操作来解决生产服务器上的这个问题吗?

推荐答案

如今,使用 Github 和 Bundler,您不必成为维护者即可解决您正在使用的 gems 中的问题.只需在 Github 上 fork 项目,解决任何问题,然后他们只需将 Bundler 指向您的 fork.如果它是对 gem 的方便扩展,而不仅仅是对您自己的 hack,您还可以考虑向原始维护者提出拉取请求,以将您的更改滚动到官方 gem.

说了这么多,可能导致的问题这个问题似乎没有出现在 0.0.10 版本的 webrobots 的 gemspec 中.当 gemspec 中的日期采用您在错误中的格式时,可能会发生此问题,例如:

"2011-07-01 00:00:00.000000000Z"

虽然我们有查看 gemspec 的片段:

s.authors = [%q{Akinori MUSHA}]
s.date = %q{2011-07-01}
s.description = %q{This library helps write robots.txt compliant web robots in Ruby.

所以这似乎是正确的.另一个已知会导致此问题的问题是 YAML 解析器问题,要解决此问题,您需要强制使用特定的 YAML 解析器(心理).您需要在某处定义以下内容:

require 'yaml'
YAML::ENGINE.yamler = 'syck'

最后,您可能想清理本地安装,然后重新部署,这可能会解决您的问题.再一次,如果您使用的是 Bundler,如下所示:

gem update --system
rvm gemset empty mygemset
gem install bundler
gem install

本文地址:https://www.itbaoku.cn/post/786508.html