mysys2使用記錄

安裝

官網(wǎng)https://www.msys2.org/上直接進(jìn)行下載。

image.png

如果下載速度比較慢,則可以右鍵復(fù)制下載鏈接到某雷軟件里下載,經(jīng)過p2p和鏡像加速后速度非??臁?/p>

安裝過程中,日志窗口有一些亂碼,但是沒什么影響能正常安裝完成。

pacman

mysys2里使用了pacman來管理軟件包。

-Msys2使用pacman管理軟件。pacman的基本使用如下:

pacman -S <packge-name>     # 安裝軟件
pacman -U <gz-file>         # 安裝本地包,其擴(kuò)展名為 pkg.tar.gz
pacman -Syu                 # 同步Msys2源,并更新 
pacman -Sy                  # 僅同步源 
pacman -Su                  # 更新系統(tǒng)
pacman -Sy <packge-name>    # 同步源后再安裝軟件
pacman -R <packge-name>     # 該命令將只刪除包,不包含該包的依賴。
pacman -Rs <packge-name>    # 在刪除包的同時(shí),也將刪除其依賴。
pacman -Rd <packge-name>    # 在刪除包時(shí)不檢查依賴。
pacman -Ss <keywords>       # 這將搜索含關(guān)鍵字的包。
pacman -Qi <packge-name>    # 查看有關(guān)包的信息。

替換軟件源

但如果上面下載安裝包速度慢的話,使用pacman就同樣會(huì)很慢了,比如我這里顯示:

:: 正在同步軟件包數(shù)據(jù)庫...
錯(cuò)誤:無法從 repo.msys2.org : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds 獲取文件 'mingw32.db'

配置一下pacman使用清華大學(xué)的鏡像(PS:其實(shí)安裝包也可以從清華大學(xué)鏡像站中下載)。修改方法如下:

編輯 /etc/pacman.d/mirrorlist.mingw32 ,在文件開頭添加:

Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686

編輯 /etc/pacman.d/mirrorlist.mingw64 ,在文件開頭添加:

Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64

編輯 /etc/pacman.d/mirrorlist.msys ,在文件開頭添加:

Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch

然后執(zhí)行pacman -Syu刷新軟件包并且更新mysys2系統(tǒng)組件即可,然后重啟shell。
上面的/etc/是指mysys的安裝目錄下的etc目錄。

mingw

mysys2默認(rèn)在安裝目錄下放置了幾個(gè)編譯器的目錄:clang32、clang64、mingw32、mingw64 但基本上都是空的,需要另外安裝。

快速安裝所有mingw:

pacman -S  mingw-w64-i686-toolchain
pacman -S  mingw-w64-x86_64-toolchain

但上面會(huì)將gcc-objectc等一起安裝,比如i686的列表如下:

  1. mingw-w64-i686-binutils 2) mingw-w64-i686-crt-git 3) mingw-w64-i686-gcc 4) mingw-w64-i686-gcc-ada 5) mingw-w64-i686-gcc-fortran 6) mingw-w64-i686-gcc-libgfortran 7) mingw-w64-i686-gcc-libs 8) mingw-w64-i686-gcc-objc 9) mingw-w64-i686-gdb 10) mingw-w64-i686-headers-git 11) mingw-w64-i686-libmangle-git 12) mingw-w64-i686-libwinpthread-git 13) mingw-w64-i686-make 14) mingw-w64-i686-pkg-config 15) mingw-w64-i686-tools-git 16) mingw-w64-i686-winpthreads-git 17) mingw-w64-i686-winstorecompat-git

如果只想部分安裝,手工自己挨個(gè)安裝。示例,我的安裝腳本:

pacman -S mingw-w64-i686-binutils mingw-w64-x86_64-crt-git mingw-w64-i686-gcc mingw-w64-i686-gcc-libs mingw-w64-i686-gdb mingw-w64-i686-headers-git mingw-w64-i686-libmangle-git mingw-w64-i686-libwinpthread-git mingw-w64-i686-make mingw-w64-i686-pkg-config mingw-w64-i686-tools-git mingw-w64-i686-winpthreads-git 

然后自動(dòng)安裝一些依賴庫(,并下載100多M,安裝837M)

mingw-w64-i686-bzip2-1.0.8-1  mingw-w64-i686-ca-certificates-20190110-1
mingw-w64-i686-crt-git-8.0.0.5576.34082b63-1  mingw-w64-i686-expat-2.2.9-1
mingw-w64-i686-gettext-0.19.8.1-8  mingw-w64-i686-gmp-6.2.0-1  mingw-w64-i686-isl-0.22-1
mingw-w64-i686-libffi-3.2.1-4  mingw-w64-i686-libiconv-1.16-1  mingw-w64-i686-libsystre-1.0.1-4
mingw-w64-i686-libtasn1-4.15.0-1  mingw-w64-i686-libtre-git-r128.6fb7206-2
mingw-w64-i686-mpc-1.1.0-1  mingw-w64-i686-mpdecimal-2.4.2-1  mingw-w64-i686-mpfr-4.0.2-2
mingw-w64-i686-ncurses-6.1.20190630-1  mingw-w64-i686-openssl-1.1.1.d-2
mingw-w64-i686-p11-kit-0.23.19-1  mingw-w64-i686-python-3.8.1-1
mingw-w64-i686-readline-8.0.001-2  mingw-w64-i686-sqlite3-3.31.0-1  mingw-w64-i686-tcl-8.6.10-1
mingw-w64-i686-termcap-1.3.1-5  mingw-w64-i686-tk-8.6.10-1
mingw-w64-i686-windows-default-manifest-6.4-3  mingw-w64-i686-xz-5.2.4-1
mingw-w64-i686-zlib-1.2.11-7  mingw-w64-x86_64-headers-git-8.0.0.5576.34082b63-1
mingw-w64-i686-binutils-2.33.1-1  mingw-w64-i686-gcc-9.2.0-2  mingw-w64-i686-gcc-libs-9.2.0-2
mingw-w64-i686-gdb-8.3.1-3  mingw-w64-i686-headers-git-8.0.0.5576.34082b63-1
mingw-w64-i686-libmangle-git-8.0.0.5573.a4de8df4-1
mingw-w64-i686-libwinpthread-git-8.0.0.5574.33e5a2ac-1  mingw-w64-i686-make-4.2.1-4
mingw-w64-i686-pkg-config-0.29.2-1  mingw-w64-i686-tools-git-8.0.0.5573.a4de8df4-1
mingw-w64-i686-winpthreads-git-8.0.0.5574.33e5a2ac-1
mingw-w64-x86_64-crt-git-8.0.0.5576.34082b63-1
下載大小:   107.72 MiB
全部安裝大?。? 837.50 MiB

msys2啟動(dòng)入口

安裝Msys2后,或解壓Msys2后,第一次運(yùn)行下msys2_shell.cmd,提示第一次設(shè)置初始化完畢后,就可以運(yùn)行Msys2.exe、mingw64.exe或mingw32.exe,主要區(qū)別:

  • mingw32 優(yōu)先使用 msys64/mingw32 下的工具;
  • mingw64 優(yōu)先使用 msys64/mingw64 下的工具;
  • msys2 兩個(gè)都不使用,只用自身 msys 的工具;82

其它常用軟件或庫

pacman -S base-devel git wget p7zip perl ruby python2 ,不過有些上面安裝過程中已經(jīng)安裝了。

與cmder集成

平常使用的是cmder,與其集成可以參考:

使用過程中的錯(cuò)誤

GPGME error: 無效的加密引擎

參考資料:

  • This error can happen if there are conflicting gnupg installations in PATH. Try running pacman in a special shell like set PATH=, msys2_shell.bat.
  • MacType can cause this. Put gpg.exe and pacman.exe lines under the [UnloadDll] section of your .ini file under C:\Program Files (x86)\MacType\ini or C:\Program Files\MacType\ini.
  • Check BLODA.
  • It can happen when the upgrade process reported failures (fork errors). Use update-core for system upgrades and take care to follow the instructions.
  • Try re-installing gpgme libgpgme, gnupg and pacman packages (you can temporarily disable signature checking in /etc/pacman.conf).
  • Try removing /etc/pacman.d/gnupg, then pacman-key --init, pacman-key --populate msys2, pacman-key --refresh-keys.
  • Maybe autorebase.bat is sometimes needed even for 64-bit MSYS2.
  • Try debugging for GPGME by export GPGME_DEBUG=9 before running pacman ...something... 2> ~/gpgmelog and looking at the logfile ~/gpgmelog.

調(diào)用pacman-key --refresh-keys 時(shí)提示我找不到readline7,而我之前編譯某項(xiàng)目時(shí)升級(jí)了libreadline8,這似乎破壞了gpgme庫的引用。

臨時(shí)在 D:\msys64\etc\pacman.conf中將 SigLevel = Never 的注釋打開,把下面的 SigLevel = Required DatabaseOptional給注釋了。

pacman能暫時(shí)能用。然后使用pacman -Su 升級(jí)所有系統(tǒng)組件(看日志中有重新安裝libgpgme)后,再解除注釋,pacman恢復(fù)正常。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 每次在windows下編譯ffmpeg和x264都要折騰半天,c++的編譯真是煩人,不提緩慢的編譯速度就編譯環(huán)境配...
    云上聽風(fēng)閱讀 16,506評(píng)論 8 7
  • 安裝 Msys2 最新版本的環(huán)境。官網(wǎng)下載地址: http://www.msys2.org/注意: 安裝路徑中不要...
    NetOwls閱讀 1,184評(píng)論 0 4
  • 前提 想找一個(gè)64位的Vim并且支持Python和Lua功能不容易,所以研究了一天,查了不少資料,終于成功編譯,記...
    Maonx閱讀 6,384評(píng)論 0 4
  • msys2下載 msys2官網(wǎng),直接在官網(wǎng)下載相應(yīng)版本即可,安裝完成啟動(dòng)之后大概這個(gè)樣子 不過默認(rèn)的終端實(shí)在不咋好...
    Chigusa閱讀 23,703評(píng)論 5 13
  • 心向陽光笑靨花,青青葉里白無瑕。 綿綿細(xì)雨除塵垢,開滿春山景色佳。
    蠻力閱讀 694評(píng)論 7 3

友情鏈接更多精彩內(nèi)容