jjzjj

ruby-on-rails - 未初始化的常量 Psych::Syck (NameError)

在我的gem中,我需要yaml并且在我的本地计算机上运行良好。但是在将我的gem推送到ruby​​gems.org之后,当我尝试使用我的gem时,我收到一条错误消息=>"uninitializedconstantPsych::Syck(NameError)"谁能帮我解决这个问题?附言RubyVersion=>ruby1.9.2,GemVersion=>1.6.2,Bundlerversion=>1.0.15 最佳答案 经过几个小时的研究,我发现=>“YAML使用未维护的Syck库,而Psych使用现代的LibYAML”因此,为了解决

ruby - 安装 gem 时未初始化的常量 Psych::Syck

我将gem推送到ruby​​gems.org,当我执行“geminstall(gem)”时出现此错误:ERROR:Whileexecutinggem...(NameError)uninitializedconstantPsych::Syck我可以执行“gembuild(gem).gemspec”来生成本地gem,然后geminstall(gem).gem并且安装正常。我还可以将gem放入我的Rails应用程序的Gemfile中,并带有指向Github存储库的指针,这也可以。我试过在多台计算机上安装gem(来自ruby​​gems.org,它们都遇到相同的错误。我不知道是什么原因导致从r

ruby-on-rails - 使用 Rails : syck has been removed, psych

我在我的rails项目的capistrano部署期间收到此消息:syckhasbeenremoved,psychisusedinstead版本:gem'rails','=3.2.13'ruby2.0.0p247据我所知,ruby使用原生yamler“Psych”。Gemfile中没有任何yamler。在我的boot.rb中:require'yaml'YAML::ENGINE.yamler='psych'可能是什么问题? 最佳答案 这可能意味着yamler被分配到某处的gem中。您可以在此处查看消息是如何生成的:https://git

ruby - 为什么 psych yaml 解释器在 80 个字符左右添加换行符?

Psych是自ruby​​1.9.3以来的默认yaml引擎为什么,为什么psych在其输出中添加换行符?检查下面的示例。ruby-v#=>ruby1.9.3p374(2013-01-15revision38858)[x86_64-linux]require'yaml'"thisabsolutelynormalsentenceismorethaneightycharacterslongbecauseitIS".to_yaml#=>"---thisabsolutelynormalsentenceismorethaneightycharacterslongbecauseit\nIS\n...

ruby-on-rails - 无效的 gemspec - 格式错误的要求 ["#<YAML::Syck::DefaultKey:0xb5f9c990> 3.2.0"]

Invalidgemspecin[/usr/lib/ruby/gems/1.8/specifications/activemodel-3.2.0.gemspec]:Illformedrequirement["#3.2.0"]从尝试为其他问题进行sudogem更新当sudogemupdate遍历每个gem并为大多数gem获取消息时,获得数百次 最佳答案 升级到Rails3.2时可能会发生这种情况。更新Rubygems应该可以解决这个问题。gemupdate--system希望这对您有所帮助。

ruby - GemCutter rake build 现在抛出 "undefined method ' write' for #<Syck::Emitter:...."在 Windows 上的 ruby​​ 1.9.2 上更新到 ruby​​gems 1.5.0 之后

我刚刚将我的Windows2008Serverx64box更新为ruby​​gems1.5.0,现在我无法使用Gemcutter提供的rake任务(rakeclobberbuild)构建gem。我收到以下错误:rakeaborted!undefinedmethod`write'for#C:/Ruby192/lib/ruby/1.9.1/psych/visitors/emitter.rb:17:in`end_document'C:/Ruby192/lib/ruby/1.9.1/psych/visitors/emitter.rb:17:in`visit_Psych_Nodes_Docume

ruby - 还有其他方法可以规避格式不正确的要求 YAML::Syck::DefaultKey 错误然后升级 RubyGems 吗?

我得到Invalidgemspecin[path/to/vendor/bundle/spree_api-1.0.0.gemspec]:Illformedrequirement["#1.0.0"]对于几个gem(所有Spree及其spree_*要求)。我已经报告了两个spree的问题(我怀疑他们更改了他们的构建行;以及主机site5,他有一个过时的RubyGems版本1.6.2)Severalquestionsstackoverflow上有解决方案,但没有一个适用于我。我无法使用RVM升级到其他版本的Ruby,因为(v)host安装了passenger,AFAIK只允许运行一个Ruby版

ruby-on-rails - 升级到 Rails 3.2.2 : How to solve the 'undefined method for Syck::DomainType' error related to the Delayed Job gem?

我正在从3.1.0开始运行RubyonRails3.2.2。我有问题undefinedmethodsend_register_email\'for#\n//.rvm/gems/ruby-1.9.2-p290/gems/delayed_job-3.0.1/lib/delayed/performable_mailer.rb:6:inperform...使用许多其他人尝试解决的DelayedJobgem:有人成功地解决了这个问题,其他人则没有。如果我尝试了我在网上找到的所有解决方案,我属于后一类。此时,在我的Gemfile中我有:gem'rails','3.2.2'gem"rake"...g

ruby - 为什么 YAML 解析器(syck 和 psych)的行为不同?

看看这个案例:ruby1.9.2p0(2010-08-18修订版29036)[i686-linux]irb(main):006:0>YAML::ENGINE.yamler="psych"=>"psych"irb(main):007:0>'8902-20-13'.to_yamlArgumentError:invaliddatefrom/usr/local/lib/ruby/1.9.1/date.rb:1022:in`new_by_frags'from/usr/local/lib/ruby/1.9.1/date.rb:1046:in`strptime'from/usr/local/lib/