1. ホーム
  2. ruby

[解決済み] Xをアクティベートしたが、GemfileにYが必要である。

2022-04-29 10:59:20

質問

実行時 rake こんなエラーが出るんです。

rake 0.9.2 をすでに有効化していますが、Gemfile には rake 0.8.7 が必要です。bundle exec の使用を検討してください。

使用方法 bundle exec rake ではなく、単に rake はうまくいくようですが、これを修正するのが一番いい方法なのでしょうか?

どのように解決するのですか?

使用方法 bundle exec が正しい方法です。

基本的には、rake を 0.9.2 にアップデートしたことで、Gemfile で指定したバージョンとコンフリクトしていることが原因です。以前は最新版の rake を使用した場合、Gemfile のバージョンと一致するため、警告は表示されません。 rake .

Yehuda Katz (Bundlerのオリジナル開発者の一人)が、以下のページで説明しています。 このブログの記事 .

と入力するのを避けるために bundle exec ... Bundlerでよく使うコマンドは、シェルの中でエイリアスや関数を設定することができます。例えば、これは私がRakeに使っているものです。

$ type bake
bake is a function
bake () 
{ 
    bundle exec rake "$@"
}