- 在MSYS2官網下載下傳MSYS2并安裝
- 換源。根據清華大學開源軟體鏡像站MSYS2 鏡像使用幫助操作。
- 完成後運作
會提示關閉MSYS2視窗。關閉後再次啟動MSYS2并運作pacman -Syu
注意:前者有時會更新pacman自身,這會導緻pacman的鏡像清單mirrolist被重置,需要重新換源。pacman -Su
- 執行
pacman -S mingw-w64-x86_64-toolchain
會安裝下列軟體倉庫:
1) mingw-w64-x86_64-binutils 2) mingw-w64-x86_64-crt-git
3) mingw-w64-x86_64-gcc 4) mingw-w64-x86_64-gcc-ada
5) mingw-w64-x86_64-gcc-fortran 6) mingw-w64-x86_64-gcc-libgfortran
7) mingw-w64-x86_64-gcc-libs 8) mingw-w64-x86_64-gcc-objc
9) mingw-w64-x86_64-gdb 10) mingw-w64-x86_64-headers-git
11) mingw-w64-x86_64-libmangle-git 12) mingw-w64-x86_64-libwinpthread-git
13) mingw-w64-x86_64-make 14) mingw-w64-x86_64-pkg-config
15) mingw-w64-x86_64-tools-git 16) mingw-w64-x86_64-winpthreads-git
17) mingw-w64-x86_64-winstorecompat-git
包括下列軟體包:
mingw-w64-x86_64-bzip2-1.0.8-1
mingw-w64-x86_64-ca-certificates-20190110-1
mingw-w64-x86_64-expat-2.2.9-1 mingw-w64-x86_64-gettext-0.19.8.1-9
mingw-w64-x86_64-gmp-6.2.0-1 mingw-w64-x86_64-isl-0.22.1-1
mingw-w64-x86_64-libffi-3.3-1 mingw-w64-x86_64-libiconv-1.16-1
mingw-w64-x86_64-libsystre-1.0.1-4
mingw-w64-x86_64-libtasn1-4.16.0-1
mingw-w64-x86_64-libtre-git-r128.6fb7206-2
mingw-w64-x86_64-mpc-1.1.0-1 mingw-w64-x86_64-mpdecimal-2.5.0-1
mingw-w64-x86_64-mpfr-4.1.0-2 mingw-w64-x86_64-ncurses-6.2-1
mingw-w64-x86_64-openssl-1.1.1.g-1
mingw-w64-x86_64-p11-kit-0.23.20-2 mingw-w64-x86_64-python-3.8.5-1
mingw-w64-x86_64-readline-8.0.004-1
mingw-w64-x86_64-sqlite3-3.32.3-2 mingw-w64-x86_64-tcl-8.6.10-1
mingw-w64-x86_64-termcap-1.3.1-6 mingw-w64-x86_64-tk-8.6.10-1
mingw-w64-x86_64-windows-default-manifest-6.4-3
mingw-w64-x86_64-xxhash-0.7.4-1 mingw-w64-x86_64-xz-5.2.5-1
mingw-w64-x86_64-zlib-1.2.11-7 mingw-w64-x86_64-zstd-1.4.5-1
mingw-w64-x86_64-binutils-2.34-3
mingw-w64-x86_64-crt-git-8.0.0.5966.f5da805f-1
mingw-w64-x86_64-gcc-10.2.0-1 mingw-w64-x86_64-gcc-ada-10.2.0-1
mingw-w64-x86_64-gcc-fortran-10.2.0-1
mingw-w64-x86_64-gcc-libgfortran-10.2.0-1
mingw-w64-x86_64-gcc-libs-10.2.0-1
mingw-w64-x86_64-gcc-objc-10.2.0-1 mingw-w64-x86_64-gdb-9.2-1
mingw-w64-x86_64-headers-git-8.0.0.5966.f5da805f-1
mingw-w64-x86_64-libmangle-git-8.0.0.5573.a4de8df4-1
mingw-w64-x86_64-libwinpthread-git-8.0.0.5906.c9a21571-1
mingw-w64-x86_64-make-4.3-1 mingw-w64-x86_64-pkg-config-0.29.2-1
mingw-w64-x86_64-tools-git-8.0.0.5903.3310d459-1
mingw-w64-x86_64-winpthreads-git-8.0.0.5906.c9a21571-1
mingw-w64-x86_64-winstorecompat-git-8.0.0.5903.3310d459-1
下載下傳大小: 132.55 MiB
全部安裝大小: 897.89 MiB
- 執行
pacman -S mingw-w64-x86_64-cmake mingw-w64-x86_64-extra-cmake-modules
包含下列軟體包:
mingw-w64-x86_64-brotli-1.0.7-4 mingw-w64-x86_64-c-ares-1.16.1-1
mingw-w64-x86_64-curl-7.71.0-1 mingw-w64-x86_64-jansson-2.12-1
mingw-w64-x86_64-jemalloc-5.2.1-1 mingw-w64-x86_64-jsoncpp-1.9.2-1
mingw-w64-x86_64-libarchive-3.4.3-1
mingw-w64-x86_64-libidn2-2.3.0-1
mingw-w64-x86_64-libmetalink-0.1.3-3
mingw-w64-x86_64-libpsl-0.21.0-2 mingw-w64-x86_64-libssh2-1.9.0-2
mingw-w64-x86_64-libunistring-0.9.10-2
mingw-w64-x86_64-libuv-1.38.0-1 mingw-w64-x86_64-lz4-1.9.2-1
mingw-w64-x86_64-nettle-3.6-1 mingw-w64-x86_64-nghttp2-1.41.0-1
mingw-w64-x86_64-png2ico-2002.12.08-2
mingw-w64-x86_64-rhash-1.3.9-1 mingw-w64-x86_64-cmake-3.17.3-1
mingw-w64-x86_64-extra-cmake-modules-5.68.0-1
下載下傳大小: 13.75 MiB
全部安裝大小: 90.28 MiB
- 執行
pacman -S mingw-w64-x86_64-clang
包含下列軟體包:
mingw-w64-x86_64-llvm-10.0.1-1 mingw-w64-x86_64-z3-4.8.8-1
mingw-w64-x86_64-clang-10.0.1-1
下載下傳大小: 459.23 MiB
全部安裝大小: 2377.00 MiB
- 執行
pacman -S help2man man-db man-pages-posix
包含下列軟體包:
groff-1.22.4-1 libpipeline-1.5.2-1 perl-Locale-Gettext-1.07-6
help2man-1.47.15-1 man-db-2.9.3-1 man-pages-posix-2013_a-1
下載下傳大小: 5.88 MiB
全部安裝大小: 20.42 MiB
- 執行
pacman -S zsh git vim
包含下列軟體包:
expat-2.2.9-1 heimdal-7.7.0-1 libpcre16-8.44-1 libpcre32-8.44-1
libpcrecpp-8.44-1 libpcreposix-8.44-1 openssh-8.3p1-1
pcre-8.44-1 perl-Authen-SASL-2.16-2 perl-Clone-0.45-1
perl-Convert-BinHex-1.125-1 perl-Encode-Locale-1.05-1
perl-Error-0.17029-1 perl-File-Listing-6.04-2
perl-HTML-Parser-3.72-6 perl-HTML-Tagset-3.20-2
perl-HTTP-Cookies-6.08-1 perl-HTTP-Daemon-6.12-1
perl-HTTP-Date-6.05-1 perl-HTTP-Message-6.25-2
perl-HTTP-Negotiate-6.01-2 perl-IO-HTML-1.001-1
perl-IO-Socket-SSL-2.068-1 perl-IO-Stringy-2.113-1
perl-LWP-MediaTypes-6.04-1 perl-MIME-tools-5.509-1
perl-MailTools-2.21-1 perl-Net-HTTP-6.19-1
perl-Net-SMTP-SSL-1.04-1 perl-Net-SSLeay-1.89_01-2
perl-TermReadKey-2.38-2 perl-TimeDate-2.33-1 perl-Try-Tiny-0.30-1
perl-URI-1.76-1 perl-WWW-RobotRules-6.02-2 perl-libwww-6.46-1
git-2.27.0-1 vim-8.2.0869-1 zsh-5.8-3
下載下傳大小: 19.44 MiB
全部安裝大小: 102.94 MiB
- (可選)在/etc/bash.bashrc中添加export http_proxy="xxx"和export https_proxy="xxx"。
- 修改/etc/nsswitch.conf中的db_home為windows或指定路徑無效。在/etc/bash.bashrc中添加
更改HOME目錄。再添加export HOME=/d/Documents/Programming/msyshome
更改啟動目錄為~。參考How to change HOME directory and start directory on MSYS2?。cd
- 在更改後的HOME目錄下執行
或sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
安裝oh-my-zsh,然後在/etc/bash.bashrc中添加exec zsh。此時oh-my-zsh仍被安裝在系統環境變量$HOME目錄下。sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
- 生成passwd檔案:
在msys2_shell.cmd中将/usr/bin/mkpasswd.exe > /etc/passwd
的rem去掉。由于Windows環境變量路徑有空格,是以MSYS實際上無法使用。rem set MSYS2_PATH_TYPE=inherit
- (可選)将系統環境變量$HOME目錄下的.oh-my-zsh檔案夾移動到D:\Program_Files下,然後将.zshrc中的
改為export ZSH="/e/Cadence/SPB_Data/.oh-my-zsh"
将MSYS Shell視窗的Options->Text->Font改為Powerline等字型,如JetBrains Mono。export ZSH="/d/Program_Files/.oh-my-zsh"
- 将zshrc中的ZSH_THEME改為agnoster:ZSH_THEME="agnoster"。
- (可選)Windows Terminal配置:settings.json中的"profiles"下的"list"下添加
(可選)ConEmu配置:Settings->General->Fonts更改字型;Settings->Startup->Tasks,{Bash::Msys2-64}中Commands預設為{ "guid": "{957f95a7-9539-46b8-b052-df39de1f1282}", "name": "MSYS2", "commandline": "D:\\Program_Files\\msys64\\msys2_shell.cmd -defterm -no-start -msys2", "icon": "D:\\Program_Files\\msys64\\msys2.ico" },
改為set CHERE_INVOKING=1 & set "PATH=%ConEmuDrive%\msys64\usr\bin;%PATH%" & %ConEmuBaseDirShort%\conemu-msys2-64.exe -new_console:p %ConEmuDrive%\msys64\usr\bin\bash.exe --login -i -new_console:C:"%ConEmuDrive%\msys64\msys2.ico"
或建立{Msys2::MinGW64},Commands為set HOME=D:\Documents\Programming\msyshome & set MSYS2_PATH_TYPE=inherit & set MSYSTEM=mingw64 & set "PATH=D:\Program_Files\msys64\usr\bin;%PATH%" & %ConEmuBaseDirShort%\conemu-msys2-64.exe -new_console:p D:\Program_Files\msys64\usr\bin\zsh.exe --login -i -new_console:C:"D:\Program_Files\msys64\msys2.ico"
set HOME=D:\Documents\Programming\msyshome & set MSYS2_PATH_TYPE=inherit & set MSYSTEM=mingw64 & set "D=D:\Program_Files\msys64" & %D%\usr\bin\zsh --login -i -new_console:C:"%D%\msys2.ico"
其中第一個set設定HOME確定使用指定HOME目錄下的.zshrc(靈感來源于How do I change $HOME directory on MSYS2?);其他set指令部分參考了msys2使用conemu終端配置。
(可選)Fluent Terminal設定:配置檔案->建立。名稱:MSYS2;可執行程式位置:D:\Program_Files\msys64\msys2_shell.cmd(如果點三個點選擇隻能選擇exe檔案,是以需要複制粘貼到文本框中);工作目錄:D:\Documents\Programming\msyshome;參數:-defterm -no-start -msys2;快捷鍵:自選。