本ガイドでは、Ruby on Rails自体の開発環境を構築する方法について解説します。
このガイドの内容:
ローカルマシンでRailsを開発用にセットアップしたくない場合は、Codespaces、VS Code Remote Plugin、またはrails-dev-boxを利用できます。これらのオプションについて詳しくはこちらを参照してください。
Ruby on Railsを自分のコンピュータ上で開発したい場合は、以下の手順を参照してください。
Ruby on Railsではソースコード管理にGitを使っています。インストール方法についてはGitホームページに記載されています。Gitを学べる資料はインターネット上に多数あります。
Ruby on Railsのソースコードを置きたいディレクトリ(ここに独自rails
サブディレクトリが作成されます)で以下を実行します。
$ git clone https://github.com/rails/rails.git $ cd rails
Railsのテストの中には追加のツールに依存しているものもあります。そうしたテストを実行するには、これらのツールを手動でインストールしておく必要があります。
以下のリストは、Railsのgemごとに必要な追加の依存関係です。
機能を変更したいgemを正しくテストするには、そのgemが依存するサービスをすべてインストールする必要があります。macOS、Ubuntu、Fedora/CentOS、Arch Linux、FreeBSDの各サービスのインストール方法について詳しくは後述します。
Redisのドキュメントでは、パッケージマネージャによるRedisインストールは推奨されていません(パッケージマネージャーが古いため)。Redisをソースからインストールしてサーバーを立ち上げる方法については、Redisドキュメントに詳しく記載されています。
Active Recordのテストは、少なくともMySQLとPostgreSQLとSQLite3で必ずパスしなければなりません。 単一のアダプタでしかテストされていないパッチは却下されます(変更とテストの内容が特定のアダプタに限定されない場合を除く)。
以下は、OSごとの追加ツールのインストール方法です。
macOSの場合は、必要な追加ツールをHomebrewですべてインストールできます。
ツールをすべてインストールするには、クローンしたRailsディレクトリで以下を実行します。
$ brew bundle
インストールしたサービスを起動する必要もあります。サービスをすべて起動するには以下を実行します。
$ brew services list
サービスを個別に起動するには、以下のように実行します。
$ brew services start mysql
上のコマンドのmysql
は、起動したいサービス名に置き換えます。
以下を実行すると、すべての依存関係をインストールできます。
$ sudo apt-get update $ sudo apt-get install sqlite3 libsqlite3-dev mysql-server libmysqlclient-dev postgresql postgresql-client postgresql-contrib libpq-dev redis-server memcached imagemagick ffmpeg mupdf mupdf-tools libxml2-dev libvips42 poppler-utils libyaml-dev libffi-dev # Yarnをインストールする # Node.jsがインストールされない場合は以下のコマンドを使う # 参考: https://github.com/nodesource/distributions#installation-instructions $ sudo mkdir -p /etc/apt/keyrings $ curl --fail --silent --show-error --location https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg $ echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list $ sudo apt-get update $ sudo apt-get install -y nodejs # Node.jsをインストールしたら、以下のコマンドでyarn npmパッケージをインストールする $ sudo npm install --global yarn
以下を実行すると、すべての依存関係をインストールできます。
$ sudo dnf install sqlite-devel sqlite-libs mysql-server mysql-devel postgresql-server postgresql-devel redis memcached ImageMagick ffmpeg mupdf libxml2-devel vips poppler-utils # Yarnをインストールする # Node.jsをインストールしていない場合はこのコマンドを使う # 参考: https://github.com/nodesource/distributions#installation-instructions-1 $ sudo dnf install https://rpm.nodesource.com/pub_20/nodistro/repo/nodesource-release-nodistro-1.noarch.rpm -y $ sudo dnf install nodejs -y --setopt=nodesource-nodejs.module_hotfixes=1 # Node.jsをインストール済みの場合は以下のコマンドでyarn npmパッケージをインストールする $ sudo npm install --global yarn
以下を実行すると、すべての依存関係をインストールできます。
$ sudo pacman -S sqlite mariadb libmariadbclient mariadb-clients postgresql postgresql-libs redis memcached imagemagick ffmpeg mupdf mupdf-tools poppler yarn libxml2 libvips poppler $ sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql $ sudo systemctl start redis mariadb memcached
MySQLはArch Linuxではサポートされなくなったので、代わりにMariaDBをインストールする必要があります(Arch Linuxのお知らせを参照)。
以下を実行すると、すべての依存関係をインストールできます。
$ sudo pkg install sqlite3 mysql80-client mysql80-server postgresql11-client postgresql11-server memcached imagemagick6 ffmpeg mupdf yarn libxml2 vips poppler-utils # portmaster databases/redis
ports
ですべてのツールをインストールすることも可能です(パッケージはdatabases
フォルダに保存されます)。
MySQLのインストールで発生する問題については、MySQLドキュメントを参照してください。
以下を実行すると、すべての依存関係をインストールできます。
$ sudo apt-get install sqlite3 libsqlite3-dev default-mysql-server default-libmysqlclient-dev postgresql postgresql-client postgresql-contrib libpq-dev redis-server memcached imagemagick ffmpeg mupdf mupdf-tools libxml2-dev libvips42 poppler-utils
DebianのデフォルトのMySQLサーバーはMariaDBなので、何らかの違いが生じる可能性にご注意ください。
Active Recordのテストを実行するのに必要なデータベースエンジンごとに、追加の設定手順がいくつか必要になります。
PostgreSQLの認証方法は異なります。LinuxまたはBSDで、開発用アカウントをdevelopment環境にセットアップするには、以下を実行するだけで済みます。
$ sudo -u postgres createuser --superuser $USER
macOSの場合は以下です。
$ createuser --superuser $USER
MySQLはデータベースの作成時点でユーザーを作成します。このタスクでは、ユーザがパスワードなしのroot
であると仮定しています。
続いて、MySQLとPostgreSQLそれぞれについて以下を実行し、testデータベースを追加する必要があります。
$ cd activerecord $ bundle exec rake db:create
以下を実行すると、データベースエンジンごとにtestデータベースを作成できます。
$ cd activerecord $ bundle exec rake db:mysql:build $ bundle exec rake db:postgresql:build
データベースを削除するには以下を実行します。
$ cd activerecord $ bundle exec rake db:drop
上のrakeタスクでtestデータベースを作成すると、文字セットとコレーション(照合順序)が正しく設定されます。
他のデータベースを使っている場合は、activerecord/test/config.yml
またはactiverecord/test/config.example.yml
でデフォルトの接続情報があるかどうかをチェックしてください。別のcredential(認証情報)が必要な場合はローカルコンピュータでactiverecord/test/config.yml
を変更することでできますが、この変更はRailsの更新に含めてはいけません。
Yarnをインストールした場合は、以下を実行してJavaScriptの依存関係をインストールする必要があります。
$ yarn install
gemは、Rubyにデフォルトで同梱されているBundlerでインストールします。
RailsのGemfileに記載されているgemをインストールするには、以下を実行します。
$ bundle install
または、Active Recordのテストを実行する必要がない場合は、以下を実行します。
$ bundle config set without db $ bundle install
設定がすべて完了したら、ガイドのRuby on Rails に貢献するをお読みください。
Railsガイドは GitHub の yasslab/railsguides.jp で管理・公開されております。本ガイドを読んで気になる文章や間違ったコードを見かけたら、気軽に Pull Request を出して頂けると嬉しいです。Pull Request の送り方については GitHub の README をご参照ください。
原著における間違いを見つけたら『Rails のドキュメントに貢献する』を参考にしながらぜひ Rails コミュニティに貢献してみてください 🛠💨✨
本ガイドの品質向上に向けて、皆さまのご協力が得られれば嬉しいです。
Railsガイド運営チーム (@RailsGuidesJP)
Railsガイドは下記の協賛企業から継続的な支援を受けています。支援・協賛にご興味あれば協賛プランからお問い合わせいただけると嬉しいです。