构建Rails 3引擎抛出Gem :: Package :: TooLongFileName错误
发布时间:2020-12-17 01:46:56 所属栏目:百科 来源:网络整理
导读:我正在尝试使用gem build myengine构建我的引擎,但我一直收到以下错误: ERROR: While executing gem ... (Gem::Package::TooLongFileName) Gem::Package::TooLongFileName 我不认为myengine不会太长.知道这里可能会发生什么吗? 解决方法 我通过查找导致问
我正在尝试使用gem build myengine构建我的引擎,但我一直收到以下错误:
ERROR: While executing gem ... (Gem::Package::TooLongFileName) Gem::Package::TooLongFileName 我不认为myengine不会太长.知道这里可能会发生什么吗? 解决方法
我通过查找导致问题的确切文件解决了这个问题 – 它是一个具有长名称的迁移文件.
对于那些感兴趣的人,从rubygems源代码的tarWriter类的split_name方法抛出错误.如果出现以下情况,则会抛出此错误 >文件的相对路径,包括文件名本身,大于256个字符 我希望这有帮助.我已经在下面附上了split_name方法的源代码供审阅. def split_name(name) # :nodoc: raise Gem::Package::TooLongFileName if name.size > 256 if name.size <= 100 then prefix = "" else parts = name.split(///) newname = parts.pop nxt = "" loop do nxt = parts.pop break if newname.size + 1 + nxt.size > 100 newname = nxt + "/" + newname end prefix = (parts + [nxt]).join "/" name = newname if name.size > 100 or prefix.size > 155 then raise Gem::Package::TooLongFileName end end return name,prefix end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |