環境構築関連、Node.jsのインストールなど
Node.jsの記事の時に書いたインストールについて。 仮想環境上とかで個別で環境構築することがあったので、一応軽くまとめてみます。 また、変なことが起こったらその時はログをとって都度記事にできればいいなぁ(願望)。
Node.jsだけ使ってみたい時は途中間に挟んであるrbenv
〜Rails
は要らないので飛ばしてOK。
mac OSのバージョンがCatelinaの場合使用するログインシェルはbashではなくzshになる
% chsh -s /bin/zsh
これでzshをデフォルトで使用するように設定することができる。
ターミナル上でcdコマンドを実行した際に表示される自分のディレクトリの後に、$とあった部分が%に変わっている。
...自分はMac自体を買ったのがかなり最近なのでmojaveだった時代がないのですが、bashの時と大分制御構文などの書き方で違いが出てるみたいですね。
シェルスクリプトコマンドみたいなのを使用する場合は気をつけないとね...。
設定できたかを確認するにはecho
を使用する。
% echo $SHELL
実行結果が
=> bin/zsh
になっていれば成功。bashと出ていたら一度読み込み直すためにターミナルを終了するなどした方がいいかも。
Command Line Tools をインストール
既に開発環境を整えてる人なら見聞きしてる単語だけどrbenvをインストールするにはHomebrewが必要で、HomebrewをインストールするにはCommand Line ToolsというWebアプリケーション開発に必要なソフトウェアが必要。
最初は、なんかめんどくせーな(笑)って思ってたんですが、こういったツールやパッケージみたいなので管理しているからこそ、各ブラウザに行ってインストールソフトウェアを揃えるとかバージョン毎に入れ直すとかってことをしなくて済む...みたいな感じで。
ターミナルでコマンドを打つだけで各アプリケーションで使うツールのバージョンを簡単に切り替えられ、バージョン確認もターミナルでコマンド打てば用意に確認できる。
実際の開発でもなんでも、最新バージョンが常に正解とは限らないからこそ、こういう仕組みみたいなのがいるってことですな、多分。今はそうやって納得しておく。
% xcode-select --install
これでxcodeをappleからインストールできる。ウィンドウが起動したらインストール ボタンを押し、規約に同意する。
数GBほどあるらしいのでとても時間がかかる。
Homeblew をインストール
homebrewというソフトウェア管理ツール。
% cd % ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
cd
後にpwd
で/Users/${ユーザ名}
と表示されていればOK。2行目のコマンドは公式サイトにあるインストールの下にあるコードのコピペを行う。
...見れば分かるが、公式ではbashとあるのでzshに変えている場合はコマンドを変えなければならないので、公式サイトに載っているコードの意味を考えた上でコピペを行うこと。
途中で続行するか聞かれるのでreturnキーを押して決定し、passwordを聞かれたら、使用しているPCを起動する際のパスワードを入力する。
このコマンドも実行完了まで時間がかかる。
% brew -v
で、=> Homebrew x.y.zz
とバージョン情報が表示されていればインストール成功。
Homebrewのアップデートする際は
% brew update
Homebrewコマンドの権限を変更する場合は
% sudo chown -R `whoami`:admin /usr/local/bin
sudo
はスーパーユーザー(root)権限
という他のユーザーの権限でコマンドを実行する際に使用する。複数のオプションが存在する。
僕のイメージではあるが、所有者であっても一般ユーザーとなるってことだと思う、書き換えちゃいけないファイルとかはこれがないと実行できないとかあるしね。chown
は指定したファイルやディレクトリのユーザー所有権やグループ所有権を変更できる。グループ所有権はグループ名やグループIDで指定する。chown [オプション] ユーザー[:グループ] ファイル
のように書く。-R
はchown
コマンドのオプションで、指定したディレクトリ以下のファイルやディレクトリの所有権を再帰的に変更する。 このオプションをつけた時のコマンドの動作はまず自分(対象のディレクトリ)自身に対して処理を行う。自己(このコマンド)の結果が自己に返ってくる、みたいな感じ。whoami
は単独で使用した場合、ユーザー名を表示するコマンドadmin
は管理者の意。whoami
: と組み合わせることで、管理者権限としてってことになるのかな。LinuxOSとかでは root 権限を持っているユーザー。sudoさんのことですね←- その後の
/usr/local/bin
はディレクトリ名とファイル名の構造、パス
rbenv をインストール
Macには元々Rubyが入っているのでそのままでもruby自体は利用できるけど、Webアプリケーション開発をするにあたってはrbenv
というバージョン管理を切り替えるツールを使う。
ディレクトリ毎にバージョンを指定することもできる。
rbenv
は自身でRubyをコンパイル&インストール、もしくはruby-build
を使用して自動インストールできる。
Railsでの公式サイトでもrbenv
を利用してRubyをインストールすることを勧めている...らしい。
他にあるRVMというツールよりもシンプルで動作が軽く、Ruby自体のバージョンの切り替えを行っている。
Homebrew
を使用してRubyの土台であるrbenv
とruby-build
をインストール
% brew install rbenv ruby-build
rbenv
をPCのどの場所(パス)からでも使用できるようにコマンド入力
% echo 'eval "$(rbenv init -)"' >> ~/.zshrc
.zshrc
は設定ファイルの名称。.bashrc
みたいなやつの代わり...だよね。
上記コマンドではファイルの内容を変更しているコマンドなので、設定を反映させるためにsource
コマンドを実行
% source ~/.zshrc
環境設定ファイルなどを変更した時はsource
コマンドを使用する。確かデプロイの時なんかも使いました。
続いてはターミナル上のirb(rails c
のような対話シェル)で日本語入力を可能にする設定のために、readline
を実行
% brew install readline
% brew link readline --force
link
はln
とも表記できる。ファイルのリンクを作成する。--force
オプションは、リンクファイルと同じ名前のファイルがあっても強制的に上書きする、と言うオプション。
次にrbenv
を使ってRubyのインストールを行う。実行には時間がかかる。
% RUBY_CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline)" % rbenv install 2.5.1
2行目のコマンドは今回インストールするRubyのバージョン。
使用するRubyのバージョンをglobal
で指定する
% rbenv global 2.5.1
このコマンドを実行するとそれまでPCでデフォルトで使用していたRubyから切り替えることができる。
Rubyのバージョンを切り替えたら、rbenvを読み込み変更を反映させる。
% rbenv rehash
現在インストールしているrbenvのバージョン確認、使用しているRubyのバージョンを確認する際には
% rbenv -v => rbenv 1.1.2 % ruby -v => ruby 2.5.1p57 〜〜〜〜〜〜
コマンド実行した時に表示されていれば、無事にインストール完了
MySQL をインストール
Homebrew
を利用してインストールを行っていく、実行完了まで時間がかかる
% brew install mysql@5.6
MySQLはPCが再起動などの度にMySQLも起動する必要があるが、自動で起動できるように設定できる。
% mkdir ~/Library/LaunchAgents % ln -sfv /usr/local/opt/mysql\@5.6/*.plist ~/Library/LaunchAgents % launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql\@5.6.plist
続いてrbenv
やreadline
と同様に、mysql
コマンドをPCのどこからでも実行できるようにして、MySQLを操作できるようにする
% echo 'export PATH="/usr/local/opt/mysql@5.6/bin:$PATH"' >> ~/.zshrc $ source ~/.zshrc
上記同様、環境設定のファイルを書き換えた場合、変更反映のコマンドも入力している。
mysqlが実行できるか確認
% which mysql => /usr/local/opt/mysql@5.6/bin/mysql
which
コマンドは指定したコマンドを使用した際のフルパスを表示する(今回はmysql
)
mysqlの起動しているかの確認
% mysql.server status => SUCCESS! MySQL running
SUCCESSと出てれば成功、runningは動作中ってことっすな
Rails の準備
Rubyの拡張機能であるgemを管理するためのbundlerと言うツールのインストール。
gemは手動でインストール(gem install "shinatra"
など)することができるが、最新バージョン同士では互換性不良などで動作しない場合がある。
また、複数人で開発などを行う際にはバージョンを合わせる必要なども出てくる。
この際にGemfileにインストールしたいgemを記入し、bundlerを介してインストールを行うことで、gem同士の互換性を保ちながら各gemの導入などを行ってくれてる、ってことですね。
bundler本体以外のgemは、基本的にbundle install
を使用してインストールすることがオススメ。
% gem install bundler
bundlerのバージョンを確認するコマンド
% bundler -v
Railsのインストール、実行完了まで時間がかかるかも。
% gem install rails --version='5.2.3
開発に必要なものが一通りインストールできたので、rbenvを再読み込みしておく
% rbenv rehash
導入したRailsのバージョンの確認。
rails -v => Rails 5.2.3
アプリケーションをrails newで作成する際に_5.2.3_
などのように入力すれば個別に指定できるため、ディレクトリ毎に指定も可能となる。
nodeblew をインストール
Railsを動かすにはJavaScriptが必要だが、通常のJSではなく、サーバーサイドで動作するNode.jsが必要(なんだよね、確か)
で、nodebrew
というNode.js用のバージョン管理ツールがあるのでそれをインストールしていく。
brew install nodebrew
nodebrew
のバージョン確認、利用できるコマンドも確認可能
% nodebrew -v
インストールできるNode.jsのバージョン確認コマンド
% nodebrew ls-remote
// バージョンを指定してインストールする場合 % nodebrew install-binary {version} % nodebrew install-binary v13.0.0 // 最新版をインストールする場合 % nodebrew install-binary latest // 安定版をインストールする場合 % nodebrew install-binary stable
インストールされたnodejsのバージョン確認
% nodebrew ls => v13.0.0 => current: none
インストール直後は使用するバージョンが有効になっていないので
% nodebrew use v13.0.0 % node-v => v13.0.0 => current: v13.0.0
1行目のコマンドで有効化、2行目のバージョン確認コマンドで4行目のようにバージョンが表示されていれば有効化されている
nodeが使えるように環境パスを通す必要がある。
$ echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.zprofile
シェルがbashの場合は最後違うので注意。また、追記リダイレクト>>
ではなく普通のリダイレクト>
をしてしまうと既存の書き込みに上書きをして消してしまうことがある為、注意が必要。環境変数を設定したので
% source ~/.zprofile
で変更を反映するか、ターミナルを再起動すること。
※ Homebrewから直接nodejsをインストールする場合のコマンド
% brew install nodejs
Node.jsが導入できたかの確認コマンド
% node -v
※ Linux OS使用時、サーバー上から取得したプログラムをパイプ機能を使ってPerlというプログラミング言語で実行する場合のコマンド
% curl -L git.io/nodebrew | perl - setup
環境変数の設定
% echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.profile
PATHという名前の環境変数に値を代入することで設定している。
上記例では.profileと言うファイルに追記リダイレクトを使用することで設定内容を編集している。.profileはシェルの起動時に自動的に実行されるファイル。
この場合もパスを通したら
% source ~/.profile
source
コマンドで.profileを再起動することなく再度読み込ませて、変更を反映させる。
npm のバージョン確認
% npm --version
npmではpackage.jsonと言うファイルで依存関係のあるパッケージをインストールできたりタスクも管理できる。
npm、Node.jsの記事書いてからいくつかの記事やスクールのカリキュラムを参考にザッと書き出してみました。
あまり環境構築は何度もやらないので忘れそうですが、仮想環境バンバン作って壊して環境構築慣れしてみるのも面白いのかな?(笑)
したらな❗️ 👋