0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Rails】bundle lock--add-platformコマンド

Posted at

はじめに

こんにちは! アメリカで独学でソフトウェアエンジニアを目指している者です。
現在は『Rails Tutorial』の8章まで学習を終え、2周目に取り組んでいます。
1周目と比べると基本的な内容は少しずつ理解が進んできましたが、まだ知らないコードや知識があり、日々新しい発見があります。

本記事では、その中でも特に「bundle lock --add-platformコマンド」について簡単にまとめました。
Railsを始めたばかりの方や、後々自分が見返すときの備忘録的な内容ですので、参考にしていただければ幸いです。

bundle lock--add-platformコマンドとは

Rails Tutorialでは、bundle lock --add-platform x86_64-linuxと記載されています。
これは特定のプラットフォーム(ここでは x86_64-linux)を Gemfile.lock に追加するためのコマンドです。

たとえば、次のようなケースを考えてみましょう。

  1. 開発環境 → Mac
  2. 本番環境 → Linux

このように、開発環境と本番環境のプラットフォームが異なると、Macでは正常に動作していても Linux ではエラーが発生する場合があります。
これは、一部の Gem が Linux 向けに作られていることが原因で、Mac 用の情報のみだと正常にインストールされない可能性があるためです。

そこで bundle lock --add-platform x86_64-linux を実行すると、Linux 用の Gem も Gemfile.lock に含まれるようになります。
その結果、本番環境で必要な Gem が欠けていることによるトラブルを未然に防ぐことができます。
Rails は環境依存が大きいフレームワークとも言われているため、このコマンドを導入しておくのは本番環境を想定するうえで非常に重要です。

なお、『Rails Tutorial』でも同様の説明があり、開発初期の段階で実行しておくことが推奨されています。

まとめ

bundle lock --add-platform コマンドは、開発環境と本番環境が異なる場合に生じる Gem の依存関係トラブルを防ぐために非常に便利です。
特に Rails のように環境依存が比較的大きいフレームワークでは、早めのタイミングで実行しておくことをおすすめします。
Railsは学ぶことが多くまた、学習中に面白いなと思った内容があれば記事にしたいと思います

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?