Gemfile
レールでの使用は何ですか?
使い方はGemfile
?
Rails での開発中に、必要な機能を提供したい場合がありますが、その方法がわからないか、自分で実装したくない場合があります。仕事は才能のある開発者によってその開発に投入されました。
これらの必要な開発 (ユーザー認証、メッセージ システム、アセット ハンドラー、地理位置情報、ページネーション システム、Amazon AWS などの外部サービスへのリンク、そして最後に Rails 自体) は Ruby Gems と呼ばれます。これらは Ruby ソフトウェア パッケージであり、必ずしも Rails に関連するものではありませんが、Rails は Ruby に基づいているため、Gem の 98% を Rails Web アプリケーション コードで利用できます。
githubにはたくさんの gem がありますが、ruby-gemsやruby -toolbox を介して gem を検索する方が楽しいです。
Yourgemfile
は、プロジェクトに含めたいすべての gem のリストです。これは、バンドラー(gem でもあります) と共に使用され、使用済みの gem をインストール、更新、削除、およびその他の方法で管理します。
にgemfile
は別の目的があります。gem を:development
、:test
、:assets
、:production
などのグループにグループ化すると、Rails はいつ gem を含めるかを認識します。例えば:
group :development, :test do
gem "rspec-rails"
gem "factory_girl_rails"
gem "guard-rspec"
end
Rails 4 では、このassets
グループは非推奨になっていることに注意してください。
これらの gem は、アプリケーションをテストするためのものであるため、開発環境とテスト環境に属します。実稼働環境でそれらを使用できるようにする必要はありません (可能ですが、メモリが不必要に肥大化します)。
だから - を使用するにはgemfile
、インストールしたいgemを次のように書くだけです
gem 'devise'
bundler
事前に(コンソール/ cmd / sshに)インストールしてください
$ gem install bundler
次に、コンソールに書き込みます
bundle install
別の gemfile が表示されます。Gemfile.lock
このファイルは、テキスト リーダーで開くとわかるように、すべての gem とそのバージョンおよび依存関係が一覧表示されます。これは、インストールした gem のバージョンを知る必要がある場合に役立ちます。
詳細については、Gemfile
バンドラーページを参照してください。
ジェムの選択に関する情報については、これから始めることができます
頑張って楽しんでね!
では、作成されたこの Gemfile.lock は何ですか?
Gemfile.lock は、その名前が示すように、インストールされたすべての gem のすべてのバージョンをロックします。したがって、Gemfile をインストールする必要がある場合、ロック ファイルはインストールされたものであり、アプリを起動して実行するために実際に必要なバージョンです。
その特定のバージョン (Gemfile.lock で指定されている) に gem がない場合、レールは文句を言い、不足している gem を ( 経由でbundle install
) インストールするか、競合を手動で修正する必要があります (バンドラーがいくつかの手がかりを与えると思います)その上で)
知っておくべきことGemfile.lock
bundle install
。誤って を削除Gemfile
した場合は、運が悪い.. git を使用する必要があります :)Gemfile
s は、アプリケーションの Ruby 依存関係を管理するために使用されるBundlerの構成です。この Web サイトには、 Gemfile マニュアル ページなど、多くのドキュメントが含まれています。
類推による説明
あなたは車を作りたいと思っています。最初から。組み立てる必要があるもの: シャーシ、エンジン、コロボレーター、ラジエーターなど。
宝石を使用すると、他の人が以前に作成した車の部品を利用できます
車を作ったことのある人なら誰でも、同じものを必要としています。
車輪を再発明する必要はありません。すぐに入手できるのに、なぜ独自のエンジンなどを作るのですか? 世界で最も才能のあるエンジニアによって作成された最高のエンジンの 1 つを指一本動かさずに手に入れることができたらどうでしょうか? 1年かけて自作するつもり?
したがって、基本的にすべてを自分で作成するのではなく、必要なすべての部品の買い物リストを書き留めます。
私の友人は、基本的にあなたの宝石ファイルです!
あなたのシステムはたくさんの宝石を持つことができます...したがって、同じの複数のバージョンを持つことができますgem
。
Aは、レールアプリケーションを実行するたびに使用/ロード/(存在しない場合はインストール)するGemfile
リストを指定しgems
ます。versions
または何でもbundle exec . .