use warn instead of puts

[ci skip]