- 在MSYS2官网下载MSYS2并安装
- 换源。根据清华大学开源软件镜像站MSYS2 镜像使用帮助操作。
- 完成后运行
pacman -Syu
会提示关闭MSYS2窗口。关闭后再次启动MSYS2并运行
pacman -Su
注意:前者有时会更新pacman自身,这会导致pacman的镜像列表mirrolist被重置,需要重新换源。
-
执行
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中添加
export HOME=/d/Documents/Programming/msyshome
更改HOME目录。再添加
cd
更改启动目录为~。参考How to change HOME directory and start directory on MSYS2?。
-
在更改后的HOME目录下执行
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
或
sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
安装oh-my-zsh,然后在/etc/bash.bashrc中添加exec zsh。此时oh-my-zsh仍被安装在系统环境变量$HOME目录下。
-
生成passwd文件:
/usr/bin/mkpasswd.exe > /etc/passwd
在msys2_shell.cmd中将
rem set MSYS2_PATH_TYPE=inherit
的rem去掉。由于Windows环境变量路径有空格,所以MSYS实际上无法使用。
-
(可选)将系统环境变量$HOME目录下的.oh-my-zsh文件夹移动到D:\Program_Files下,然后将.zshrc中的
export ZSH="/e/Cadence/SPB_Data/.oh-my-zsh"
改为
export ZSH="/d/Program_Files/.oh-my-zsh"
将MSYS Shell窗口的Options->Text->Font改为Powerline等字体,如JetBrains Mono。
-
将zshrc中的ZSH_THEME改为agnoster:ZSH_THEME="agnoster"。
-
(可选)Windows Terminal配置:settings.json中的"profiles"下的"list"下添加
{ "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" },
(可选)ConEmu配置:Settings->General->Fonts更改字体;Settings->Startup->Tasks,{Bash::Msys2-64}中Commands默认为
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"
改为
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"
或新建{Msys2::MinGW64},Commands为
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;快捷键:自选。
MSYS2快速配置C++环境+ZSH
最新推荐文章于 2024-07-01 17:08:34 发布