目的
ソフトウェアについて理解を深める
目次
はじめに
シェルとは
zsh
PATH
コマンドラインツールとは
Command Line Tools
パッケージ管理とは
Homebrew
Node.js
Yarn
バージョン管理とは
rbenv
はじめに
今回は、なぜターミナルでコマンドを実行するといろいろな動作が行われるのか、その仕組みについて詳しくまとめたいと思います。
シェルとは
シェルとは、ターミナルとOSを繋ぐ窓口役のようなものです。
ターミナルで実行されたコマンドはシェルによって読み込まれ、OSに指示を渡した後、結果をターミナルに返して表示や実行などの動作をさせます。
また、シェルにもさまざまな種類があり、それぞれプロンプトやコマンド実行後の出力で、表示と挙動が若干異なります。
zsh
zshはシェルの1つであり、2019年以降のmacOS標準シェルです。
zshは、.から始まるドットファイルを作成・編集することで、設定を行うことができます。
PATH
PATHとは、「環境変数」と呼ばれるOS用の変数のことです。PATHには、複数の絶対パスの情報が保存されており、コマンドが入力されたときに、シェルはPATHに記述されたパスのディレクトリ内のファイルを検索します。
つまり、PATHに絶対パスを保存してアプリケーションのありかを示せば、どこからコマンドを実行してもアプリケーションのコマンドを打つことができます。
ちなみにPATHにアプリケーションのありかを示して、すべてのディレクトリからコマンドを使用可能にすることを、一般的に「PATHを通す」と表現するようです。
コマンドラインツールとは
コマンドラインツールとは、コマンドで操作するアプリケーションのまとまりです。
コマンドラインツールを導入することで、OSが初めからコマンドで操作できるアプリケーション以外のアプリケーションをPCにインストールできます。
Command Line Tools
Command Line ToolsとはmacOS専用のコマンドラインツールです。
macOSでは、元々Linuxコマンドで操作できるアプリケーションや機能を標準搭載しています。Linuxコマンド以外で操作するアプリケーションの多くはCommand Line Toolsのインストールによって、まとめてPCに導入できます。
パッケージ管理とは
まずパッケージとは、プログラムや処理、複数のライブラリをひとまとめにしたもののことです。
そしてパッケージ管理とは、パッケージやパッケージが持つライブラリなどの依存関係を考慮してインストールやバージョンアップを行う管理のことです。
1つのパッケージを利用したい場合、そのパッケージと依存関係にあるパッケージも合わせてインストールしてくれます。
このような管理を自動的に行なってくれるツールのことを、パッケージ管理ツールまたはパッケージマネージャーと呼びます。
Homebrew
HomebrewとはmacOSのパッケージ管理ツールです。
macOS上で動作するアプリケーションの多くがHomebrewからインストールできます。
Homebrewを使うことにより、依存関係のあるパッケージが正しく動作するよう、複数のパッケージのバージョンをコントロールしてインストールすることが可能です。
基本的なbrewコマンドとして下記のようなコマンドがあります。
コマンド
説明
brew -v
Homebrewのバージョンを表示する
brew install [パッケージ名]
パッケージをインストールする
brew uninstall [パッケージ名]
パッケージをアンインストールする
brew list
インストールしたパッケージを表示する
brew search
インストール可能なパッケージを表示する
brew update
インストールしたパッケージを最新へ更新する
Node.js
Node.jsは、本来ブラウザ上で動くJavaScriptをサーバーサイドで動作させる「実行環境」です。
Node.jsがインストールされると、サーバーサイドで利用できるJavaScriptのパッケージを活用できます。
もちろん、パッケージは依存関係を生むため、YarnなどのNode.jsのパッケージ管理ツールもあります。
Yarn
YarnとはNode.jsの環境上で動作するパッケージを管理する、JavaScriptのパッケージ管理ツールです。つまり、サーバーサイドで動作するJavaScriptのパッケージを管理するツールのことです。
Ruby on Railsでは、バージョン6系からJavaScriptのパッケージをデフォルトで利用するようになったため、プロジェクトの作成にYarnのインストールが必須となっています。
バージョン管理とは
変更したバージョンを記録あるいは外部から保存して、過去のバージョンや最新のバージョンに切り替えることなどをバージョン管理と呼びます。
バージョン管理をすることで、パッケージとの依存関係の問題を解消したり、変更して問題が発生したプロジェクトを過去の安定したバージョンに切り替える、などの対応ができます。
rbenv
rbenvはRubyのバージョンを切り替えるためのバージョン管理ツールです。
複数のバージョンのRubyをダウンロードしておいて、使用するRubyのバージョンをディレクトリごとに指定することも可能になります。
基本的なrbenvコマンドとして以下のようなコマンドがあります(rbenvの拡張機能であるruby-buildという管理ツールが提供するコマンドも含めています)。
コマンド
説明
rbenv -v
rbenvのバージョンを表示する
rbenv install [バージョン]
Rubyバージョンを指定してインストールする
rbenv uninstall [バージョン]
Rubyバージョンを指定してアンインストールする
rbenv versions
インストールされているRubyバージョンの一覧を表示する
rbenv global [バージョン]
すべてのディレクトリで使用するRubyバージョンを切り替える
rbenv local [バージョン]
カレントディレクトリで使用するRubyバージョンを切り替える
rbenv rehash
RubyやGemに関するコマンドをバージョン変更後も使用できるようにする
↧