msys2 安装注意事项

简介:

它一直在使用 msys。有一个最近发现 msys2。而且msys2 配套的编译器是MinGW-w64

 就试着用了用,感觉还不错,这里把安装过程记录一下。

简单的说,MSYS2 MSYS的一个升级版提供了bash shell, Autotools, 版本号控制软件和MinGW-w64 工具链。与MSYS最大的差别是移植了 Arch Linux的软件包管理系统 Pacman。有了 Pacman 升级系统,安装新软件包,还有解决软件包间的依赖问题就变得简单多了。

能够在这里查看MSYS2包含了哪些软件包:

https://github.com/Alexpux/MSYS2-packages

安装

msys2 的主页地址:

http://sourceforge.net/projects/msys2/

 

首先下载安装文件,我的系统是32位的,所下面载32位的安装包:

msys2-i686-20140910.exe

 

msys2 要求安装文件夹仅仅能有 ascii 字符而且不能有空格。我选择安装在:

C:/msys32

这样安装完后仅仅有最主要的系统,没有gcc开发环境。

执行例如以下命令能够打开一个bash shell

msys2_shell.bat

剩下的工作都在这个bash shell下进行。

msys2 移植了Arch Linux 上的软件包管理系统 Pacman。有了包管理系统,升级、安装新的软件就非常easy了。 只是我一直在用redhat 系的linux没有接触过 Pacman。学习新命令还是花了些时间。这里把一些常见的Pacman命令记录一下。

更新本地软件包

更新本地软件包数据库:

pacman -S --refresh

能够缩写为:pacman -Sy

然后升级软件包:

pacman -S --refresh --sysupgrade 

能够缩写为:pacman -Syu

 

这里须要特别注意,不能写为:

pacman -Su

给出的理由例如以下,我水平太低。没全然理解是啥意思:

because all MSYS2 programs share the same address space for DLLs due to how MSYS2 (well, Cygwin) implements 'fork', and because any Pacman package (both MSYS2 and MinGW-w64 ones) may use MSYS2's bash to run a post-install script, issuing this command can cause these scripts to fail to run should any updated, core MSYS2 DLLs end up in a different location to where they were. For this reason, the safest procedure for updating MSYS2 is to do it in two stages;

首先更新MSYS2核心程序包:

pacman -S --needed filesystem msys2-runtime bash libreadline libiconv libarchive libgpgme libcurl pacman ncurses libintl

 

假设这一步更新了一些软件包,那么就须要关闭 msys2 然后再又一次执行例如以下两个批处理文件:

autorebase.bat

msys2_shell.bat

否则更新其它软件包是会报错。(看来MSYS2 还是有点弱,希望以后可以把这个问题改好了)

之后就能够用:

pacman -Su

更新系统的其它软件包了。

列出全部安装了的软件

pacman -Q --explicit

或者

pacman -Q -e

安装新的软件包

pacman -S <package_names|package_groups>

比方我要安装 gcc。那么运行:

pacman -S gcc 

然后依照提示安装就能够了。

搜索软件包

非常多时候,我们不知道要依照的软件的准确名称,这时就要先查询软件包的名称。

pacman -Ss <name_pattern>

 

比方我想安装gcc相关的软件,那么能够这样搜索

pacman -Ss gcc

 

pacman -Q --groups

能够列出全部的软件组,在我这里运行的结果例如以下:

base bash

base bash-completion

base bsdcpio

base bsdtar

base bzip2

base catgets

base coreutils

base crypt

base curl

base dash

base file

base filesystem

base findutils

base flex

base gawk

base gcc-libs

base getopt

base grep

base gzip

base less

base lndir

base man-db

base mintty

base msys2-runtime

base ncurses

base pacman

base pacman-mirrors

base pkgfile

base rebase

base sed

base texinfo

base tzcode

base which

msys2-devel binutils

msys2-devel gcc

msys2-devel msys2-w32api-headers

msys2-devel msys2-w32api-runtime

compression bzip2

compression gzip

compression liblzo2

compression xz

libraries cloog

libraries gmp

libraries heimdal-libs

libraries icu

libraries isl

libraries libarchive

libraries libasprintf

libraries libbz2

libraries libcares

libraries libcatgets

libraries libcrypt

libraries libcurl

libraries libdb

libraries libexpat

libraries libffi

libraries libgdbm

libraries libgettextpo

libraries libgpg-error

libraries libgpgme

libraries libiconv

libraries libidn

libraries libintl

libraries liblzma

libraries liblzo2

libraries libmetalink

libraries libnettle

libraries libopenssl

libraries libp11-kit

libraries libpcre

libraries libpipeline

libraries libreadline

libraries libsqlite

libraries libssh2

libraries libtasn1

libraries libxml2

libraries mpc

libraries mpfr

libraries zlib

Database db

Database gdbm

base-devel file

base-devel flex

base-devel gawk

base-devel gettext

base-devel grep

base-devel groff

base-devel m4

base-devel pacman

base-devel perl

base-devel pkgfile

base-devel sed

base-devel texinfo

MSYS2-devel msys2-runtime-devel

 

删除一个软件包

pacman -R <package_names|package_groups>


版权声明:本文博客原创文章。博客,未经同意,不得转载。





本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/4649292.html,如需转载请自行联系原作者


相关文章
交叉编译安装tslib
交叉编译安装tslib
289 0
|
机器学习/深度学习 人工智能 自然语言处理
自然语言处理(NLP)的进展与挑战
【6月更文挑战第13天】自然语言处理(NLP)在深度学习推动下取得显著进展,包括循环神经网络、词嵌入技术及预训练模型(如BERT、GPT)的应用,突破了文本分类、问答系统等任务。然而,数据稀疏性、语言复杂性和模型可解释性仍是挑战。未来,NLP有望实现更高效、准确和可解释的技术,需关注数据隐私和伦理问题。
525 10
|
11月前
|
传感器 机器学习/深度学习 人工智能
AI在自动驾驶汽车中的应用与未来展望
AI在自动驾驶汽车中的应用与未来展望
699 9
|
前端开发 C++
使用 Vite 创建 React+TS+SW 项目并整合 AntDesign 、Scss 等组件或插件
本文记录了如何使用Vite创建一个React+TypeScript+Service Workers(SW)项目,并整合AntDesign组件库和Scss等插件,包括项目的创建、配置问题解决、AntDesign和Scss的整合方法。
924 1
|
机器学习/深度学习 人工智能 自动驾驶
【人工智能】图像识别:计算机视觉领域的识别与处理资源概览
在快速发展的科技时代,计算机视觉(Computer Vision, CV)作为人工智能的一个重要分支,正深刻改变着我们的生活与工作方式。图像识别作为计算机视觉的核心任务之一,旨在让机器能够理解和解释数字图像或视频中的内容,进而执行诸如目标检测、图像分类、场景理解等复杂任务。本文将深入探讨图像识别领域的关键技术、常用数据集、开源框架及工具资源,为从事或关注该领域的专业人士提供一份全面的指南。
544 2
|
JSON Java jenkins
实现Jenkinsfile与Json的转换
实现Jenkinsfile与Json的转换
217 4
|
存储 人工智能 编解码
阿里云gpu云服务器最新收费标准、活动价格与实例规格选择参考
随着人工智能、高性能计算等领域的快速发展,GPU云服务器因其强大的计算能力和灵活的资源分配方式,成为越来越多企业和个人用户的首选。2024年,阿里云针对GPU云服务器推出了新的收费标准及活动,gn6v、gn7i、gn6i等实例的gpu云服务器有优惠,本文为大家介绍2024年,阿里云gpu云服务器最新收费标准、活动价格与实例规格选择参考。
阿里云gpu云服务器最新收费标准、活动价格与实例规格选择参考
|
人工智能 弹性计算 缓存
带你读《弹性计算技术指导及场景应用》——2. 技术改变AI发展:RDMA能优化吗?GDR性能提升方案
带你读《弹性计算技术指导及场景应用》——2. 技术改变AI发展:RDMA能优化吗?GDR性能提升方案
562 1
|
移动开发 Java Android开发
Android应用开发:Kotlin语言的优势与实践
【5月更文挑战第7天】 在移动开发的世界中,Android平台的Kotlin语言以其高效、简洁的语法和强大的功能吸引了众多开发者。本文将深入探讨Kotlin语言的核心优势,并通过实际案例展示如何在Android应用开发中有效地运用这一现代编程语言。我们将从语言特性出发,逐步分析其在提升开发效率、改善代码质量以及增强应用性能方面的具体表现,为读者提供一个全面而细致的Kotlin应用开发指南。
通义大模型使用指南之通义听悟
本文介绍了阿里云通义平台的注册和使用,主要包括两个部分:注册和功能介绍。用户可以通过访问网址 &lt;https://tongyi.aliyun.com/&gt; 进行注册。在功能介绍中,重点讲解了通义听悟的功能,它提供实时语音转文字、音视频文件转文字、智能总结和中英互译服务。用户可以体验实时录音并标记重点、问题和代办事项,方便会议记录和整理。此外,通义听悟还支持上传音视频文件转写和播客链接转写,以及浏览器插件用于处理网页、手机和微信上的语音内容。
2465 0