プロジェクトをRails 5にアップグレードしました。rspec
を実行すると、警告が表示されます。
DEPRECATION WARNING: alias_method_chain is deprecated. Please, use Module#prepend instead.
From module, you can access the original method using super.
(called from <top (required)> at /home/alex/projects/myproject/config/application.rb:13)
Application.rbの失敗行は次のとおりです。
Bundler.require(*Rails.groups)
この非推奨の警告の原因とエラーを取り除く方法を見つけるにはどうすればよいですか?
OSXでは、次を使用できます。
grep -Ir alias_method_chain `bundle show Rails`/..
そして、それはalias_method_chain
を使用するすべての宝石をリストします
Gemfileが大きすぎる場合は、 the_silver_searcher を使用して、非推奨のalias_method_chainを検索することをお勧めします。
ag alias_method_chain /path/to/gemset
毎回/ path/to/gemsetと入力しないgepgems
bashヘルパー関数があります
grepgems alias_method_chain
これを使用するには、次の関数を.bash_profile(または任意のドットファイル内の別の場所)に追加します。
function grepgems() {
ag $1 $GEM_HOME"/gems"
}
Dockerのソリューション:
docker exec -it [CONTAINER_NAME]/bin/bash
apt-get installsilversearcher-ag
ag alias_method_chain $ GEM_HOME "/ gems"