0
0

More than 3 years have passed since last update.

ソフトウェアの操作について

Posted at

目的

ソフトウェアについて理解を深める

目次

  1. はじめに
  2. シェルとは
  3. zsh
  4. PATH
  5. コマンドラインツールとは
  6. Command Line Tools
  7. パッケージ管理とは
  8. Homebrew
  9. Node.js
  10. Yarn
  11. バージョン管理とは
  12. 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に関するコマンドをバージョン変更後も使用できるようにする
0
0
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
0
0