2013-10-08 21 views
12

我我的軌道項目Capistrano的部署過程中收到此消息:的Rails:SYCK已被刪除,鬥志來代替

syck has been removed, psych is used instead 

版本:

gem 'rails', '=3.2.13' 
ruby 2.0.0p247 

據我所知紅寶石使用本地yamler「鬥志」。

Gemfile中沒有任何yamler。

在我的boot.rb:

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

可能是什麼問題呢?

回答

14

這可能意味着yamler被分配到某個gem中。您可以在此處看到如何生成消息:https://github.com/ruby/ruby/blob/8a896179ada36b4fc0f50d75500c801a3097924a/lib/yaml.rb

如果調用yamler ='syck',則會生成警告。

我搜索通過我的寶石和發現我有newrelic_rpm的舊版本的具有以下行這是導致該問題:? YAML :: ENGINE.yamler =如果定義了「SYCK」(YAML :: ENGINE)

更新newrelic gem修復了我的問題。祝你好運。

+0

謝謝你的回答!在我的情況下,它是寶石'vestal_versions' –

+0

使用二分法我嘗試從Gemfile中刪除我的寶石的不同部分,並發現導致此異常的寶石。 –

相關問題