不知道寫甚麼

紀錄、分享

MSYS2 簡單教學

簡單介紹 MSYS 2 與其使用方法。

MSYS2 是一套在 Windows 下模擬 Linux 環境的開發工具,它使用 Linux 的 Shell 環境進行操作,由 Pacman 來管理套件集合了許多好用的開發套件。

在 MSYS2 中可以安裝許多軟體如: Git、OpenSSL、Perl、SSH、Python等等,你單純可以把它當作這些工具的管理系統。不過最廣泛的用途還是拿來搭建C/C++的編譯環境。

安裝

官網

首先到官網下載 MSYS2 的安裝檔

官網下載

下載完後執行安裝檔(一直 Next 就行了)

選擇安裝位置,沒有特殊需求可以直接略過

開始功能表設置,一樣 Next

等待安裝

安裝完成, Next

Finish

如果有勾選 Run MSYS2 64bit now 就可以看到 MSYS2 的執行視窗囉

MSYS2 Environment

MSYS2 中有三大種類套件:msys、mingw32、mingw64

msys2: 全體環境皆能使用
mingw32: 只能在 MINGW32 環境下使用
mingw64: 只能在 MINGW64 環境下使用

打開 MSYS2 的安裝目錄(預設是 C:\msys64),裡面有三種不同的執行環境。

也就是說
msys2.exe 可以執行 msys2 種類的套件
mingw32.exe 可以執行 msys2 和 mingw32 種類的套件
mingw64.exe 可以執行 msys2 和 mingw64 種類的套件

不清楚沒關係,其實只需要知道:

  • 編譯或使用32位元的程式需要開啟 mingw32.exe 和安裝 mingw32 類型的套件
  • 編譯或使用64位元的程式需要開啟 mingw64.exe 和安裝 mingw64 類型的套件

至於 pacman 要在哪個環境下執行都可以

Linux like 的環境系統

MSYS2 的終端環境與 Windows 的 CMD 環境有些區別,這裡列出一些我覺得比較需要注意的差異。

絕對路徑表達方式

  • 在 windows 中絕對路徑的開頭為 <磁碟機代號>:\ ,而在 MSYS2 中要改成 /<磁碟機代號>/,例如:

    C:\Windows\System32 -> /c/Windows/System32

環境變數

  • 在 windows 中環境變數的表達方式為 %<變數名稱>%, 在 MSYS2 中要改成 $<變數名稱>。例如:

    echo %PATH% -> echo $PATH

  • 在 windows 中設定環境變數是用 set,在 MSYS2 中要用 export,例如:

    set test=123456 -> export test=123456

  • 在 windows 中設定分隔 PATH 路徑是用 ;,在 MSYS2 中要用 :,例如:

    set PATH=C:\Python27;%PATH% -> export PATH=/c/Python27:$PATH

Pacman套件管理系統

pacman 是 Arch Linux 的預設套件管理器,也被 MSYS2 用來最為管理系統,接下來會示範一些常用的基本功能。

套件庫更新

pacman -Syu

第一次執行 MSYS2 通常都會先更新套件至最新版本,y 代表的是更新軟體資料庫 u 代表的是更新套件,執行這行的意思有點像 Ubuntu 裡 apt update 再 apt upgrade。

輸入 y 按 Enter 開始更新

如果有看到如上圖底下的字樣,需要關閉目前的終端並重新啟動。
(沒有遇到的話到這裡就更新完成了)
輸入 y 按 Enter 或是 直接關閉終端都可以。

關閉完後再重新啟動,並重新執行 pacman -Syu 即可完成更新。

pacman -Syu

套件庫搜尋

pacman -Ss <搜尋字串>

<搜尋字串> 支援正規表達式

搜尋的結果通常都會很多,建議先到網路上查詢需要安裝那些套件會比較快。

使用 pacman 搜尋 git

搜尋列表結構:
以 pacman -Ss git 第一筆搜尋結果為例

套件種類即為上面提到的 MSYS2 三種環境: msys2、mingw32、mingw64

安裝套件

pacman -S --needed <套件名稱>

在使用時建議加上 needed 參數,加上該參數後會自動跳過已安裝的套件。

同樣在已安裝 git 的情況下

加上參數 –needed

沒有加上參數 –needed

上面兩張圖是同樣在已安裝 git 的情況下再安裝 git 和 python,可以看到如果沒有加上參數 pacman 會選擇重新安裝套件而不是跳過,沒有特殊需求的話只是多此一舉而已。

  • 發現安裝的套件比自己輸入的還要多是正常的(上圖多安裝了 mpdecimal),很多程式依賴其他套件才能正常運作,這些被需要的套件稱為依賴套件,pacman 會幫我們一並把這些依賴套件安裝好。

查詢已安裝套件

列出所有已安裝套件

pacman -Q

pacman -Q

查詢特定套件

pacman -Qi

pacman -Qi

解除安裝套件

單純解除安裝指定套件

pacman -R <套件名稱>

pacman -R <套件名稱>

一同移除依賴套件

pacman -Rs <套件名稱>

pacman -Rs <套件名稱>

  • 要注意如果解除安裝的套件被其他套件依賴,在解除安裝時會一並把依賴它的套件一起移除(因為缺少依賴套件就不能正常運作了)

相關文章

Built with Hugo
Theme Stack designed by Jimmy

目錄

哆哆女性网公司起名大全禾投哪儿女性独立霸气个性签名微商起名公司周公解梦大全查询一广东卫视直播食用菌类种植叶罗丽精灵梦换装破解版案例起名重庆seo优化排名公司青海卫视节目表电影天堂 被封最终流放银翼之法姆起名在线 免费姓武起什么名字好爱国名著读后感驻马店网站建设公司商标起名查询网站优化跟推广吞噬星空笔趣阁神界危机5.0cos网名东莞营销网站建设成语大全起名字的小孩起名字缺木2019男孩起名常用字免费设计房子的网站手手机网站设计2021年霸气又带财运的网名中国家具设计网站淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻不负春光新的一天从800个哈欠开始有个姐真把千机伞做出来了国产伟哥去年销售近13亿充个话费竟沦为间接洗钱工具重庆警方辟谣“男子杀人焚尸”男子给前妻转账 现任妻子起诉要回春分繁花正当时呼北高速交通事故已致14人死亡杨洋拄拐现身医院月嫂回应掌掴婴儿是在赶虫子男孩疑遭霸凌 家长讨说法被踢出群因自嘲式简历走红的教授更新简介网友建议重庆地铁不准乘客携带菜筐清明节放假3天调休1天郑州一火锅店爆改成麻辣烫店19岁小伙救下5人后溺亡 多方发声两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#青海通报栏杆断裂小学生跌落住进ICU代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了当地回应沈阳致3死车祸车主疑毒驾武汉大学樱花即将进入盛花期张立群任西安交通大学校长为江西彩礼“减负”的“试婚人”网友洛杉矶偶遇贾玲倪萍分享减重40斤方法男孩8年未见母亲被告知被遗忘小米汽车超级工厂正式揭幕周杰伦一审败诉网易特朗普谈“凯特王妃P图照”考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼恒大被罚41.75亿到底怎么缴男子持台球杆殴打2名女店员被抓校方回应护栏损坏小学生课间坠楼外国人感慨凌晨的中国很安全火箭最近9战8胜1负王树国3次鞠躬告别西交大师生房客欠租失踪 房东直发愁萧美琴窜访捷克 外交部回应山西省委原副书记商黎光被逮捕阿根廷将发行1万与2万面值的纸币英国王室又一合照被质疑P图男子被猫抓伤后确诊“猫抓病”

哆哆女性网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化