LoginSignup
5
4

More than 3 years have passed since last update.

2019年9月に購入したMacの環境構築を行う(anyenv+rbenv+Ruby+VScode)

Last updated at Posted at 2019-09-24

Macをイチから環境構築する。

目標

Rubyの環境をVScodeで書けるようにする。

全体の流れ

IMG_1672.jpg

とにかく Homebrew で色んなモノを入れられる
後々のために anyenv で各言語のVer.を切り替えられるようにしておく

Homebrewのインストール

色んな言語やアプリをコマンド一発で入れられて便利
まずはHomebrewから導入を行う

ターミナルを立ち上げる

Dock上の「Launchpad」(ロケットアイコン)→「その他」→「ターミナル」

Homebrewのスクリプトをコピー

Homebrewにアクセスし、インストールのところに書いてあるスクリプトをコピーする

  • Macでのコピペの仕方
    • 人差し指で先頭をクリックして、中指で終端までドラッグ
    • 二本指でタップすると右クリックメニューが出るので「コピー」(もしくは⌘+c)
ターミナルに貼り付ける

ターミナル貼り付けてエンター(ペースト:二本指でタップもしくは、⌘+v)

Xcode Command Line Toolsのインストール

上記スクリプトの実行中に、下記表示が出るのでエンター

==> The Xcode Command Line Tools will be installed.
Press RETURN to continue or any other key to abort
パスワードの入力

スクリプト実行中に、passwordを求められるので、Macのログインパスワードを入力してエンター

確認

スクリプトの実行が終わったら、brew doctorと入力
Your system is ready to brew.と表示されればOK

以上でHomebrewが導入できました。
ChromeやVScodeもこれでインストールできますが、次章ではRuby導入を目指してanyenvを導入します。

anyenvの導入

Homebrewを利用して、anyenvを導入します。

 rbenvでRubyのVer管理を行います。
 nodenvでNode.jsのVer.管理を行います。
 anyenvで上記のXXenvの管理を行います。

brewコマンドでanyenvをインストールする

brew install anyenvをターミナルに入力

pathを通す

上記の手順を実施すると、以下のようにターミナルに表示されます。

# Load anyenv automatically by adding
# the following to ~/.bash_profile:
eval "$(anyenv init -)"

言われた通りに、.bash_profileに追加しようと思います。
以下の通りに、ターミナルに入力

echo 'eval "$(anyenv init -)"' >> ~/.bash_profile

ターミナル再起動

変更を有効にするためターミナルを再起動します
(画面を閉じて、ターミナルを再度立ち上げる)

初期化

ターミナルを立ち上げ直すと、下記の表示が出ました

ANYENV_DEFINITION_ROOT(/Users/XXXX/.config/anyenv/anyenv-install) doesn't exist. You can initialize it by:
\ > anyenv install —init

# XXXXの部分にはユーザー名が入っています

言われた通りに、anyenv install --initをターミナルに入力

MacBook-chan: XXXX$ anyenv install --init
Manifest directory doesn't exist: /Users/XXXX/.config/anyenv/anyenv-install
Do you want to checkout ? [y/N]: y

チェックアウトしますか?と言われていたので、yと入力
Completed!
これでanyenvの導入が完了です。

確認

正常に導入されたか確認してみましょう。anyenv --versionと入力
anyenvのバージョンが表示されればOKです。

MacBook-chan: XXXX$ anyenv --version
anyenv 1.1.1

参考記事

anyenv + macOS環境構築

anyenv GitHub
https://github.com/anyenv/anyenv

rbenvの導入

anyenvを利用して、rbenvを導入します。
ターミナルにanyenv install rbenvと入力

MacBook-chan:~ XXXX$ anyenv install rbenv

# 中略

Install rbenv succeeded!
Please reload your profile (exec $SHELL -l) or open a new session.
ターミナル再起動

やはり、ターミナルの再起動しなさいと言われました。
ここでは、exec $SHELL -lと入力して再起動と同等のことをします(親切に書いてくれている・・・!)

確認

rbenv --versionと入力し、正常に導入されたか確認します。

MacBook-chan:~ XXXX$ rbenv --version
rbenv 1.1.2-2-g4e92322

Rubyの導入

やっとRubyを導入できます!
Rubyのダウンロードサイトによりますと、2.6.4が安定版らしいので2.6.4を入れます。(2019年9月現在)

Ruby 2.6.4の導入

rbenv install 2.6.4と入力します。
下記のように表示されれば完了です。

Installed ruby-2.6.4 to /Users/XXXX/.anyenv/envs/rbenv/versions/2.6.4
Ruby 2.6.4をセットする

anyenv versionsと入力します。

MacBook-chan:~ XXXX$ anyenv versions
rbenv:
* system (set by /Users/XXXX/.anyenv/envs/rbenv/version)
  2.6.4

systemのRubyが有効になっています。
rbenv global 2.6.4と入力してから再びanyenv versionsと入力します。

$ rbenv global 2.6.4
$ anyenv versions
rbenv:
  system
* 2.6.4 (set by /Users/XXXX/.anyenv/envs/rbenv/version)

先程導入した2.6.4が有効になりました

確認

ruby --versionと入力し、正常に導入されたか確認します。

$ ruby --version
ruby 2.6.4p104 (2019-08-28 revision 67798) [x86_64-darwin18]

参考記事

anyenv + macOS環境構築

Bundlerの導入

Bundlerを使ってgemファイル(例:Rails, Rubocop, Solargraph)を管理するので、先にBundlerを導入します。

ターミナルにgem install bundlerと入力

Ruby 2.6.4には最初からBundlerが入っているようです(2019.9.24追記)
Ruby 2.6で発生する「プロを目指す人のためのRuby入門」との差異について

12.8.2項ではBundlerを使うために、gem install bundler のようなコマンドでBundlerをインストールする必要があると書きました。ですが、Ruby 2.6ではBundlerが標準ライブラリとして取り込まれているため、別途インストールする必要がありません。

確認

bundle --versionと入力し、正常に導入されているかを確認します。

$ bundle --version
Bundler version 2.0.2

各種gemの導入は後ほど

参考記事

Bundlerの使い方

Hombrewで必要なものを導入

git
$ brew install git

VScode
brew cask install visual-studio-code

Evernote
brew cask install evernote

Chrome
brew cask install google-chrome

Google IME
brew cask install google-japanese-ime

VScodeの拡張機能

下記の拡張機能を入れていますが、ハマったところだけ記述します。

  • 日本語化
  • Ruby
  • Ruby Language Colorization
  • endwise
  • ruby-rubocop
  • vscode-icons
  • Ruby Solargraph
  • GitHistory

下記2つがうまく行かずVScodeの設定だけでは使えませんでした。
おそらくanyenvやrbenvとの兼ね合いかと思われます。

ruby-rubocop
Ruby Solargraph

VScode上でRubocopとSolargraphを使用する

VScode上で.rbファイルを保存するたびに、VScode上でRubocopに関するエラーが出る

rubocop is not excutable
execute path is empty! please check ruby.rubocop.executePath

Solargraphが見つかりませんのようなエラーも出ていたが、詳細失念。

Bundlerで導入する

RubocopもSolargraphもgemファイルなので、Bundlerで導入する
ターミナルで、作業フォルダ(VScodeの「フォルダを開く」で開いたフォルダ)にcdで移動する

bundle initと入力すると、gemfileが作成される。
code gemfileと入力すると、VScodeでgemfileを編集できる。

gemfileには以下の通り記載されていたので

source "https://rubygems.org"
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
# gem "rails"

下記を追記し、上書き保存。

gem 'rubocop', require: false, group: :development
gem 'solargraph', group: :development

ターミナルにbundle installと入力

参考記事

Bundlerの使い方

Bundler まとめ

[Mac]VScode で ruby-rubocop が動かなくなったら executePath を設定してみよう

VSCodeでRuby Solargraph拡張機能を使ってみた話

余談

VScode等のエディタで作成した"hoge.rb"を実行するために、
ターミナルでhoge.rbと入力したところ、Command not foundと怒られました。
Windowsでは、(.rbの拡張子がRuby CUIに紐付けされていれば)hoge.rbと入力するだけでRubyファイルを実行できます。

MacOSでは、きちんとruby hoge.rbと入力しましょう。

5
4
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
5
4