Scoopでmsys2が更新されたときの対応メモ

Scoopによってmsys2が更新され、環境がリセットされたときの対応メモ

パッケージのインストール

旧環境のターミナルを起動させて次のコマンドを打つと、パッケージのインストールコマンドが作れる。

 echo pacman -S $(pacman -Qe | awk -e '{ print $1 }' | grep -v base | grep -v filesystem | grep -v msys2-runtime | sed -z "s/\n/ /g")

新環境のターミナルを起動させていろいろ初期化が終わったあと、

pacman -Syu

で更新したあとで最初のコマンドで作ったインストールコマンドを打つと、パッケージがインストールされる

何してるのさ

pacman -Qe

は、インストールしたパッケージのリストアップ。ただしこのままだとバージョン情報が含まれるので

awk -e '{ print $1 }'

でパッケージ名だけ取得。

base, filesystem, msys2-runtimeの3つはmsys2に最初から入っていてインストールの必要はないのでgrep -vで除去。

最後にsedで改行を空白に置き換えてその結果をechoの出力につなげたら完成。

$ echo pacman -S $(pacman -Qe | awk -e '{ print $1 }' | grep -v base | grep -v filesystem | grep -v msys2-runtime | sed -z "s/\n/ /g")
pacman -S make mingw-w64-x86_64-clang mingw-w64-x86_64-clang-analyzer mingw-w64-x86_64-clang-tools-extra mingw-w64-x86_64-cmake mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb mingw-w64-x86_64-gst-devtools mingw-w64-x86_64-gst-plugins-bad mingw-w64-x86_64-gst-plugins-good mingw-w64-x86_64-gst-plugins-ugly mingw-w64-x86_64-make mingw-w64-x86_64-ntldd-git mingw-w64-x86_64-python-conan

実のところ最初のmakeとmingw-w64-x86_64-python-conanは必要ないので除去してから実行した。

注意事項として、sed -zはGNU sedにしかないっぽい。BSD sedを使う機会はまぁ無いけど。

それはそうとして

正直Scoopで更新入るたびにあれこれやるのも面倒なので、開発環境変えたほうがいいのかな。

WSL上のUbuntuに環境構築して、そっちにVSCodeのリモート開発を使うか、Ubuntu上にVSCode入れてWSLgでGUI出して使うか。
ファイル操作するだけならWSL環境からWindows環境のファイル見えるし。

問題点としてはWSLでUSB使うのがかなり面倒なことかな……Webカメラの映像あれこれができないのはちょっと困るかな……

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です