de-vraag
  • 質問
  • タグ
  • ユーザー
通知:
報酬:
登録
登録すると、質問に対する返答やコメントが通知されます。
ログイン
すでにアカウントをお持ちの方は、ログインして新しい通知を確認してください。
追加された質問、回答、コメントには報酬があります。
さらに
ソース
編集
Theo Scholiadis
Theo Scholiadis
質問

更新後にどのようにGemfileのすべての宝石と互換性を保つのですか?

私の質問は既にこちらにお願いしていますが、その理由を理解しようとしていますそれを回避する方法とは対照的です。

私が得たエラーは、

You have already activated rspec-core 2.7.1, but your Gemfile requires rspec-core 2.6.4. Using bundle exec may solve this. (Gem::LoadError)

今私は "mpapis-bundler"のようなさまざまなソリューションを提供していますが、 "bundle exec"の省略形を作成していますが、

$bundle install --binstubs

〜のためだった。

具体的には、rspec-railsのgemfileにバージョン番号が記載されていないため、なぜこの非互換性がありますか?試してみると、私のエラーも発生しました

$rake db:migrate

それを教えて

You have already activated rake 0.9.2.2, but your Gemfile requires rake 0.9.2. Consider using bundle exec.

説明をいただければ幸いです。

EDIT:
All my gems for my app are in a gemset, and I have updated my gems again. Should an update not make sure that related gems are compatible?

15 2011-10-27T16:00:18+00:00 3
 Community
Community
編集された質問 23日 5月 2017 в 11:47
プログラミング
ruby-on-rails
ruby-on-rails-3.1
gemfile
rspec
bundler
apneadiving
27日 10月 2011 в 4:04
2011-10-27T16:04:45+00:00
さらに
ソース
編集
#56790407

これはあなたのシステムに、Railsアプリケーションのものよりも新しい最近の宝石をインストールするときに起こります。

BundlerはあなたのGemfileの状態に固執する必要があることを単にouに伝えます。

これが実行の目的です。

bundle exec rake db:migrate

-> running the very same rake version your Gemfile provides.

gemfileから宝石を更新することについては、次のようにしてください:

bundle update

この種の退屈なものを避ける最も簡単な方法は、宝石を作成して宝石を孤立させることです。私はこの目的のためにRVMを使用します。

34
0
hariharan kumar
12日 4月 2012 в 2:50
2012-04-12T14:50:20+00:00
さらに
ソース
編集
#56790409

レーキバージョン0.9.2.2に関して、どちらかの方法は、プロジェクト用の新しいgemsetを作成し、gemfileと一致するgemバージョンを維持することです。

たとえば、バージョン0.9.2と0.9.2.2を含む2つのレーキ・ジェムがある場合、レイク・バージョン '0.9.2'を指定してインストールしますが、ブーミング・エラー以外のタスクは実行しません

'あなたは既にRAKE 0.9.2.2を有効にしていますが、GemfileにはRAKE 0.9.2が必要です。 bundle execを使用すると、これを解決できます。

Gemfile.lockにgemfile.lockをロックし、rake 0.9.2を選択するバンドルのインストールを期待していますが、デフォルトでrake 0.9.2.2が有効になっているgemsetを参照しています。

バンドルインストールの目的を、レールブックを使ったアジャイルWeb開発から思い出させるだけで、

'bundle installはGemfile.lockを開始点として使用し、 このファイルで指定されているさまざまな宝石のバージョン。このため、 このファイルがあなたのバージョン管理システムにチェックインされることが重要です あなたの同僚と配備ターゲットはすべて、 まったく同じ構成。

そのようには機能しませんが、

rake 0.9.2.2をアンインストールしてrake 0.9.2を使用するか、またはbundle update rakeを使用して、Gemfile.lockのレーキバージョンを0.9.2.2に更新します

1
0
Theo Scholiadis
7日 11月 2011 в 9:41
2011-11-07T09:41:50+00:00
さらに
ソース
編集
#56790408

@apneadivingが言っているように、 "$ bundle install"を実行すると、すべてのbunldesが更新されます。しかし、 "$ bundle install --binstubs"を実行した後、 "bundle exec"の部分を省略すると、互換性のない宝石にはまだエラーが出ます。

その後、別の宝石を追加してGemfileを更新する必要がありました。私は、非互換性が宝石のクリエイターによって解決されたと仮定しています。

0
0
質問の追加
カテゴリ
すべて
技術情報
文化・レクリエーション
生活・芸術
科学
プロフェッショナル
事業内容
ユーザー
すべて
新しい
人気
1
Roxana Elizabeth CASTILLO Avalos
登録済み 6日前
2
Hideo Nakagawa
登録済み 1週間前
3
Sergiy Tytarenko
登録済み 1週間前
4
shoxrux azadov
登録済み 1週間前
5
Koreets Koreytsev
登録済み 1週間前
© de-vraag :年
ソース
stackoverflow.com
ライセンス cc by-sa 3.0 帰属