0

サーバーで MySQL2 3.1.0 gem を使用している作業のために、Rails 4 を試し始めています。

ローカルで Ruby 2.0 を使用して、MySQL2 3.1.0 Gem をインストールしましたが、そこではすべて問題ありませんでした (基本的には、運用サーバー環境に一致させるために作業サーバーの gem バージョンを一致させました)。

新しいアプリケーション (ruby new r4_test -d mysql) を作成したとき、問題が発生しました。新しいアプリケーションの作成プロセス中に Bundler がクラッシュし、MySQL2 3.1.3 ファイルが見つからないと不平を言いました。3.1.3 (私が正しく見れば 3 か月前にリリースされた) が MySQL2 Gem の最も高いバージョン番号のようです。RubyフォルダーにインストールされているMySQL2のバージョンはバージョン3.1.0だけなので、これについて混乱しています。なぜ Bundler はインストールされた gem を無視し、ローカルにインストールされていないより高いバージョンを期待していたのですか? Rails3 をスキップしたので、Bundler は初めてです。ただし、ローカルではないバージョンを期待する必要はないようです。古いバージョンの gem をしばらく使用しなければならないバグやその他の問題が発生することがあります。?

ありがとう!

4

1 に答える 1

0

プロジェクト ディレクトリにがない場合Gemfile.lock、Bundler は のバージョン基準を満たす利用可能な最新バージョンをインストールしようとしますGemfile。そのため、新しい Rails プロジェクトの場合、デフォルトで生成された の最新の依存関係をインストールしようとしますGemfile。すでにGemfile.lock.

新しいプロジェクトを作成するときにRails を実行したくない場合は、 --skip-bundle(または)を使用できます。これにより、最初のものをカスタマイズする機会が得られます。既にインストールされているバージョンを使用することを確認したい場合は、バージョン制約を追加できます。-Bbundle installGemfile

于 2013-10-03T09:25:23.713 に答える