LoginSignup
7
3

More than 3 years have passed since last update.

【初心者向け】anyenvでRailsの環境構築

Last updated at Posted at 2019-06-20

※Mac向けの記事です

Homebrewの代わりにanyenv

Ruby on Railsの公式チュートリアルではHomebrewを使った環境構築を紹介していましたが、
私はanyenv(※)を利用しているため、導入手順を調べて構築しました。
何度かエラーが出てハマったので、手順を丁寧に残しておきます。

anyenv とは、ざっくり言うと、rbenv とか、nbenv とか複数バージョンをインストールできる **env 系をまとめて管理できるツール。

Mac に anyenv でサクッとマルチ開発環境構築より引用

構築手順

参考:Rails Girls インストール・レシピ
Homebrewを利用する場合は、上記URLの手順通りで構築できます。

前提

  • MacOS
  • Homebrewインストール済み(未インストールの場合より早く構築可能)

Command line toolsをインストール

$ xcode-select --install

※"$"はコマンドに入力しないこと(以後省略)

Homebrewでインストールしたenv系をアンインストール

Homebrewを導入していない方はスキップしてください。
brewとanyenvが混在すると競合する可能性があるため、brewでインストールしたenv系を削除する。

$ brew uninstall rbenv

他のツールが依存していると削除できないこともあるので、envに依存しているツールを先に削除する。ディレクトリが残ってしまうので、同時に削除しておく。

$ rm -rf ~/.rbenv

anyenvのインストール

Homebrew導入済み場合

$ brew install anyenv
$ anyenv init
# 実行後、ターミナルを再起動する

Homebrewを使わない場合

  • GitHubのソースからインストール
$ git clone https://github.com/anyenv/anyenv ~/.anyenv
  • パスを通す

GitHubより引用

#bashの場合
$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bash_profile

#Ubuntu Desktopの場合
$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bashrc

#Zshの場合
$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.zshrc

#Fishの場合
$ set -Ux fish_user_paths $HOME/.anyenv/bin $fish_user_paths

  • セットアップしてターミナルを再起動
$ ~/.anyenv/bin/anyenv init
# 実行後、ターミナルを再起動する

各env系のインストール

  • 今回はnodenv, rbenvを導入する。
$ anyenv install nodenv
$ anyenv install rbenv

各種の安定版のバージョンを確認

$ nodenv version
$ rbenv version

# rehashしておく(gem)
$ nodenv rehash
$ rbenv rehash

私の場合は下記の通りになりました

$ rbenv version
2.6.3 (set by /Users/******/.anyenv/envs/rbenv/version)

$ nodenv version
12.1.0 (set by /Users/******/.anyenv/envs/nodenv/version)

bundlerのインストール

bundlerがインストールされているか確認

$ bundle -v
# 私の場合は以下のように出力された
Bundler version 2.0.2

# インストールを確認したらアップデートする
$ gem update bundler

インストールされていなかった場合

bundleをインストールする

$ gem install bundler
$ bundle -v

Railsのインストール

作業ディレクトリ作成

# フォルダをカレントディレクトリに作成
$ mkdir rails_sample(フォルダ名)

# 作成したフォルダに移動
$ cd ~/rails_sample

cd /rails_sampleで移動するのを忘れるのに注意(忘れるとrails server実行時にエラーが出ます)

Gemfileの作成

これを忘れるとrailsファイル作成時に「.gemがありません」というエラーが出ます。

# ~/rails_sample配下にて
$ bundle init
  • Gemfileを編集する
# Gemfile編集モードに入る
$ vi Gemfile

# 編集モードに切り替わるので, iを押下してカーソルの左から入力開始(i: Insert の意味)
# #gem "rails" をコメント解除(#を削除)して以下のようにする

# frozen_string_literal: true

source "https://rubygems.org"

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }

gem "rails"

Railsのインストール

# 念の為アップデートしておく
$ sudo gem update --system

# railsをインストール
$ bundle install --path=vendor/bundle

# railsのバージョンを確認
$ bundle exec rails -v
Rails 5.2.3

# rehashしておく(railsコマンドを使えるようにする)
$ rbenv rehash
# sampleフォルダにrailsアプリフォルダ(app)を作成
~/rails_sample
$ bundle exec rails new app
      create
      create  README.md
      create  Rakefile
      create  .ruby-version
      create  config.ru
      create  .gitignore
      create  Gemfile
      (以下略)

rails serverを起動する

# ディレクトリ移動(作成したappフォルダへ)
$ cd /app

# サーバー起動
$ rails server

ここで起動したら完了です🎉

Rails is not currently installed on this system.

上記のメッセージが出た場合、指示に従います。

Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

$ sudo gem install rails
# パスワードを要求されたら入力する

~/rails_sample/app
$ rails server

Yay! You're on Rails!

http://localhost:3000/ へアクセスするとRailsの画面が表示されます🎉

スクリーンショット 2019-06-20 15.19.48.png

rails server が起動しない😣

私がハマったパターンの解決策です。以下を試してみてください。
(上記手順にあった $rbenv rehash を忘れたがために発生したものと思われます)

# 各envのバージョン確認
~/sample_rails
$ anyenv version
nodenv: 12.1.0 (set by /Users/******/.anyenv/envs/nodenv/version)
rbenv: 2.6.3 (set by /Users/******/.anyenv/envs/rbenv/version)

# 現在の環境で動いているrbenvのバージョン確認(*が付いてるもの)
$ rbenv versions
  system
* 2.6.3 (set by /Users/******/.anyenv/envs/rbenv/version)

# rehashしておく
$ rbenv rehash

# 念の為railsを再インストール
$ sudo gem install rails

# railsのバージョンを確認
$ rails -v
Rails 5.2.3

# インストールを確認したのでディレクトリ移動
~/sample_rails
$ cd /app

# server起動
~/sample_rails/app
$ rails server

私の場合はrailsを何度インストールしても
Rails is not currently installed on this system. が表示されましたが、上記の方法で解決できました。

参考になれば嬉しいです。

参考

参考にさせていただきました🙏

7
3
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
7
3