1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【MSYS2】MSYS2をtarballからインストールする

Last updated at Posted at 2025-08-29

MSYS2のインストール手順を解説したサイトはいくつもありますが、それらの殆どが、本家に掲載されているMSI仕様の"msys2-x86_64-yyyymmdd.exe"インストーラを使用してインストールするというもの。
だけど、WINDOWS上にPOSIX Shell環境を構築しようというのに、MS Installerを使用するというのは癪(しゃく)じゃないですか?
そこで、MSYS2のtarball版を入手してインストールしました。 その手順について。

tarball版を入手する

msys2リポジトリから直接、msys2 tarballの最新版
"msys2-<architecture>-latest.tar.xz"
をD/Lします。
以下、64bit版Windowsでの使用を前提として稿を進めるので、D/Lすべきtarballは、
"msys2-x86_64-latest.tar.xz"
となります。

tarballの展開、設置

D/Lしたtarballを展開する(.tar.xz形式は7-Zipなどで展開できる)と、展開フォルダ'msys64'ができます。
この展開フォルダ'msys64'を、任意の場所に移動してMSYS2システムフォルダとします。
私は、C:\直下へ置いています。

インストール(みたいな・・・)

インストールと書いたけど、Windowsバッチファイルを走らせるだけ。レジストリも汚さない(たぶん^^;)し、Windowsにアプリ登録もされません。

前述のMSYS2システムフォルダ'msys64'をエクスプローラで開き、このフォルダ中の'msys2_shell.cmd'スクリプトを、オプションや引数なしで実行(マウスでダブルクリックして起動)します。
(エラーがいくつか出るかも知れないが、スルー)
スクリプトが終了するとコマンドプロンプト状態となるので、ターミナルのshellプロンプトでexitして初期ターミナルを抜けます。

環境設定

ターミナル&Shellの起動あれこれ

MSYS2ターミナル&Shellを起動するには、前項でも走らせたWindowsスクリプト(バッチファイル)'msys2_shell.cmd'を、開発環境を指定する引数とともに実行します。
そのコマンドラインは、以下のとおり。

  • MSYS2ネイティブ環境
    MSYS2ネイティブ環境は、cygwinランタイムライブラリを使用しているので、この下でビルドされるバイナリはMSYS2ランタイム環境下でしか動作できません。
    私は、この環境を、UNIX/Linuxのソースレベルクロス開発環境として使っています。
msys2_shell.cmd -msys
msys2_shell.cmd -msys2

 
以下の各環境では、Windowsランタイムライブラリを使用するので、この下でビルドされるバイナリはWindowsネイティブ環境下でも動作します。
MSYS2でのWindowsプログラム開発は、下記いずれかの環境下で行います。

  • MinGW 64bit Windows開発環境
msys2_shell.cmd -mingw64
  • UCRT 64bit Windows開発環境
msys2_shell.cmd -ucrt64
  • CLANG 64bit Windows開発環境
msys2_shell.cmd -clang64
  • CLANG ARM64bit Windows開発環境
msys2_shell.cmd -clangarm64

これら各環境の違いは、本家environmentsのページに詳解されています。確信がなければUCRT64を使え、とも。
なお、これらをWindows GUIのマウス操作で起動できるように、それぞれのショートカットを作っておくと良いでしょう。
ショートカット用と思われるアイコンも、システムフォルダ直下に用意されています。

ターミナル(mintty)の設定

取り敢えずMSYS2ネイティブ環境でターミナル&Shellを起動しましょう。
ターミナルウィンドウ左上のMSYS2アイコン msys2.png をクリックして'オプション...'(あるいは'Options...')で、ターミナルの諸設定を行います。
以下、私の設定・・・

  • 外観(Looks)->カーソル(Cursor):四角(Block)、点滅(Blinking)
  • テキスト(Text)->フォント(Font):MyricaM M, 11pt
  • テキスト(Text)->ロケール(Locale):ja_JP
  • テキスト(Text)->文字セット(Character set):UTF-8
  • ウィンドウ(Window)->既定のサイズ(Size):144x48
    etc...

これらの設定は、ユーザホームディレクトリ直下のmintty設定ファイル'.minttyrc'に保存されます。このファイルを編集すれば、上記以外のパラメータも設定できます。
例えば、ターミナルウィンドウ初期位置の指定とか。

  • デスクトップの左上を(0, 0)としてterminal windowの左上を(100, 150)の位置に
~/.minttyrc
X=100
Y=150

開発環境構築

パッケージマネージャとパッケージの更新

パッケージマネージャ'pacman'の準備としてパッケージデータベースを最新のものに更新し、さらにパッケージ全体をアップデートします。
pacmanの同期コマンド-Sにyオプション(データベース更新)uオプション(パッケージアップデート)を与えることで、この双方を一度で行えます。

$ pacman -Syu

開発ツール類のインストール

諸コマンドのインストールは、pacmanに同期コマンド-Sとパッケージ名を与えて実行します。
まず、MSYS2ネイティブ開発環境の諸ツール・・・

  • MSYS2ターミナルの下で
$ pacman -S vim     # とか、
$ pacman -S gcc     # とか、
$ pacman -S make    # とか、
$ pacman -S openssh # とか

次にWindows開発環境の諸ツール・・・
MinGW/UCRT/CLANG/CLANG ARMのいずれかのターミナルを立ち上げて、その下で下記を実行します。

  • MinGW64ターミナルの下で
$ pacman -S mingw-w64-x86_64-toolchain
  • UCRTターミナルの下で
$ pacman -S mingw-w64-ucrt-x86_64-toolchain
  • CLANGターミナルの下で
$ pacman -S mingw-w64-clang-x86_64-toolchain

CLANG ARMの開発ツールについては、どのパッケージをインストールすれば良いのかわかりかねました m(_ _)m
 
これらそれぞれのシェル環境では、MSYS2ネイティブ環境とは環境変数PATHが異なっています。
これにより、その開発環境用の開発ツールがシステムに存在する場合には、それらがMSYS2ネイティブ版に優先して使用される訳です。
 
これでひと通りの開発ツールはインストールされました。
足りないものは、pacman -S <package>にてお好きにどうぞ。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?