Reputation: 687
I receive this message during capistrano deploy of my rails project:
syck has been removed, psych is used instead
Versions:
gem 'rails', '=3.2.13'
ruby 2.0.0p247
As i know ruby use native yamler "Psych".
There is no any yamler in Gemfile.
In my boot.rb:
require 'yaml'
YAML::ENGINE.yamler = 'psych'
What could be the problem?
Upvotes: 12
Views: 5419
Reputation: 2614
This probably means that yamler is being assigned in a gem somewhere. You can see how the message is being generated here: https://github.com/ruby/ruby/blob/8a896179ada36b4fc0f50d75500c801a3097924a/lib/yaml.rb
If yamler = 'syck' is called, the warning is produced.
I searched through my gems and found I had an older version of newrelic_rpm which had the following line which was causing the issue: YAML::ENGINE.yamler = 'syck' if defined?(YAML::ENGINE)
Updating the newrelic gem fixed the issue for me. Best of luck.
Upvotes: 12