MSYS2 で PATH が引き継がれない

Published: 2016-05-09 15:20 +0900 by Chirimen

MSYS2 で Windows の PATH が引き継がれなくなっていた

概要

MSYS2 を更新して端末エミュレータ (mintty) を立ち上げたら、 Windows の環境変数 Path の内容が bash に引き継がれなくなっていた。

引き継ぎたいときは Windows の環境変数で MSYS2_PATH_TYPE に inherit を設定するとよい。

はじめに

ひさしぶりに MSYS2 の更新をしたんだけれど、 更新後に TeX を実行しようとしたら TeX の実行ファイルに PATH が通っていなかった。

Windows の他の環境変数は引き継がれているので、 どうも PATH だけクリアして再設定しているような感じ。

~/.profile か ~/.bashrc とかに記述すればいいのかもしれないけれど、 Windows 側アプリケーションの追加削除に応じて自分で修正するのは面倒すぎる。

mintty

Windows のスタートメニューには MSYS2 Shell とか MinGW-w64 Win64 Shell などの項目がある。 これらはそれぞれ異なるバッチファイルを実行しており、 環境変数が若干異なるが、どれも mintty が立ち上がる。

例えば MSYS2 Shell では msys2_shell.bat を実行する、と言った具合に。

で、msys2_shell.bat の中身を見ると、 以下の記述がコメントに書かれていた。

rem To export full current PATH from environment into MSYS2 uncomment next line
rem set MSYS2_PATH_TYPE=inherit

対策

コメントの内容からして環境変数 MSYS2_PATH_TYPEinherit に設定すればいいみたいだけど、 msys2_shell.bat は今後のアップデートで上書きされてしまいそうなので、 Windows のユーザープロファイルの方で 環境変数 MSYS2_PATH_TYPEinherit に設定することにした。

ちゃんと Windows の Path が MSYS2 の方に引き継がれたっぽい。

Share

Latest Posts

QNAP の Docker を使ってみる
QNAP の Docker を使ってみる

QNAP で Docker が使用できるようなので使ってみた。 Docker Hub のイメージも利用できるし、 試してはいないが docker compose も使えるようなので、 思ったより柔軟性の高い運用ができそうだ。

UNIX系OS (NetBSD) での Ghostscript 7.07 のコンパイル
UNIX系OS (NetBSD) での Ghostscript 7.07 のコンパイル

UNIX系 (NetBSD) で Ghostscript 7.07 をソースからコンパイルしてインストールし、 日本語フォントを利用できるようにするまでの手順のまとめ。

Windows 用 Ghostscript 7.07 の環境設定

Windows で Ghostscript 7.07 をインストールして日本語を表示させるための環境を構築する手順のまとめ。 ファイルの入手方法から設定、動作確認まで。