Rails: syck has been removed, psych is used instead
Asked Answered
H

1

12

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?

Holp answered 8/10, 2013 at 12:4 Comment(0)
E
12

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.

Egoist answered 18/10, 2013 at 14:8 Comment(2)
Thank you for your answer! In my case it was gem 'vestal_versions'Holp
Using a dichotomy method I tried removing different parts of my gems from Gemfile and found a gem that caused this exception.Holp

© 2022 - 2024 — McMap. All rights reserved.