我一直在寻找,但我找不到这三个版本的MSYS正在发生什么的详尽描述.(完全有可能我只是不知道该寻找什么.)我明白MSYS是支持使用MinGW进行开发的Linux工具的最小端口,但我不清楚它们三者之间的关系还是开发/维护它们的团队.
要解决的具体问题:
我甚至不确定我是在问正确的问题.让我解释一下我的情况:
这是关于Windows 7上的Git.
我的公司在网络驱动器上设置Windows用户目录,而不是在本地硬盘驱动器上(用于备份和超出此问题范围的其他目的).我不能改变这个政策.
我可以在该方案之外拥有本地文件,这就是我的Apache服务器的设置方式.完全是当地的.
我安装了Git.它安装了Bash.当我启动Bash和cd ~
(更改到根目录)时,我发现它(Bash根目录)指向我的网络用户目录.我希望它不要那样做.我想要 ~
在我的硬盘上的其他地方.我想要它,以便当我执行其他操作,如安装证书,SSH密钥等时,其默认值不会自动使用该网络目录.
我到处搜索都是徒劳的,我能找到的所有内容都指的是涉及别名,重定向和$ HOME指向的位置的答案.但这根本不是我想要的.
问题是:我可以更改该目录吗?如果是这样的话:怎么样?
更新:所以,$ HOME是我需要修改的.但是我一直无法找到这个神秘的$ HOME变量的位置,所以我认为它是一个Linux系统版本的PATH或其他东西.无论如何 ......
我的确有一个"个人资料"文件git/etc
.以下是内容(注意没有$ HOME):
# To the extent possible under law, the author(s) have dedicated all
# copyright and related and neighboring rights to this software to the
# public domain worldwide. This software is distributed without any warranty.
# You should have received a copy of the CC0 Public Domain Dedication along
# with this software.
# If not, see …
Run Code Online (Sandbox Code Playgroud) 我正在尝试构建一些开源库.我需要包管理系统来轻松下载依赖项.起初我正在使用MinGW+MSYS
.但包含的包裹有限.有人告诉我使用MinGW-w64 + MSYS2
.
我mingw-w64-install
从这里下载了.运行时,它会报告以下错误.怎么解决?
顺便说一句,从MinGW-w64
下载页面,我看到了很多下载链接.甚至Cygwin也被列入名单.怎么Cygwin
和MinGW-w64
相关?
我目前的理解是,到目前为止MinGW+MSYS
,MSYS只是MinGW的一个很好的插件,而在MinGW-w64 + MSYS2
,MSYS2是独立的,MinGW-W64只是一组可以使用的库.就像Cygwin可以下载许多不同的包装一样.
传统上,MSYS bash被认为不如Cygwin bash.前者是MinGW内部用于运行autoconf脚本的辅助工具.但现在有MinGW-w64和MSYS2.后者附带了像包管理器这样的甜蜜的pacman和像zsh这样的优雅shell,所以我想知道仿真层是否还有差距.
虽然MinGW*应用程序是Windows本机可执行文件,但MSYS2软件需要POSIX仿真层,就像Cygwin一样.至少对于一个随意的用户来说,很难发现两者之间的差异.
我正在使用git-for-windows Git Bash.我无法在命令行上运行可执行文件:
Pedr@Abc-07 MINGW64 /c/dev
$ ls sqlite3.exe
sqlite3.exe*
Pedr@Abc-07 MINGW64 /c/dev
$ sqlite3
bash: sqlite3: command not found
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
为了能够在Windows上运行我的跨平台应用程序的测试脚本,我安装了MSYS2并使用pacman来安装我的测试脚本所依赖的任何软件包.
由于MSYS2提供了一个git(msys/git)端口,我认为也不需要为Windows安装Git.但是MSYS2存储库中提供的git版本与Git for Windows提供的版本有什么区别?
到目前为止我注意到了这些差异
msys/git pip freeze
在virtualenv上运行时将失败,其中在开发模式下安装了git clone的Python包:
FileNotFoundError: [WinError 3] The system cannot find the path specified: '/c/users/user/documents/project/.git\\..'
Run Code Online (Sandbox Code Playgroud)
git-for-windows/mingw-w64-x86_64-git不会失败,因此在路径处理方面至少存在一些差异.
Git for Windows的gitk和git gui开箱即用.没有必要像这里描述的那样设置GIT_GUI_LIB_DIR
环境变量.
看来Git for Windows存储库中的git提供了最佳体验.
PS您可以通过添加以下为在MSYS2的Windows的混帐混帐安装/etc/pacman.conf
,以上的[mingw32]
, [mingw64]
和[msys]
条目.但是安装Git for Windows SDK可能是一个更好的主意,它基本上是MSYS2的特殊版本,包括Git for Windows.否则,此处还描述了以下过程(以及更多).
[git-for-windows]
Server = https://dl.bintray.com/$repo/pacman/$arch
[git-for-windows-mingw32]
Server = https://dl.bintray.com/git-for-windows/pacman/i686
Run Code Online (Sandbox Code Playgroud)
在此之后(也许是一个pacman -Sy
),您可以安装Git for Windows的git:
pacman -S mingw-w64-x86_64-git
Run Code Online (Sandbox Code Playgroud)
我想没有理由不在MSYS2中安装Git for Windows的git?
编辑 Git for Windows(联合国)安装程序遗留下来C:\ProgramData\Git\config …
我决定尝试使用CLion for Windows,它建议使用MinGW或Cygwin进行编译.
我将MSYS2包管理器安装到默认文件夹中,C:\msys64
通过运行update-core
和更新它pacman -Su
.
然后我使用pacman -S mingw-w64-x86_64-gcc
已经放入的MinGW64软件包下载了C:\msys64\mingw64
.
问题是,pacman -S mingw-w64-x86_64-gcc
目前下载的版本5.0,CLion尚不支持.
MSYS2是否支持安装旧版本的软件包(MinGW版本4.9.2
应该可以正常工作)?我尝试使用MinGW软件包进行搜索pacman -Ss mingw
,但列表非常长,而且之前我没有使用过MinGW,我真的不知道该选择什么.
我在 Windows Server 2016 上安装了 MSYS2-64bits 以支持一些 Linux 库,例如 OpenSSL,这是我在 Ruby on Rails 开发中需要的。MSYS2 已随 Ruby 2.7 部分安装,但由于证书错误消息而未完成。
我首先下载并安装msys2-x86_64-20210725.exe。花了很长时间,在出现几条有关更新信任数据库的消息后完成:
==> Generating pacman master key. This may take some time.
==> Updating trust database...
==> Appending keys from msys2.gpg...
==> Locally signing trusted keys in keyring...
-> Locally signed 6 keys.
==> Importing owner trust values...
==> Disabling revoked keys in keyring...
-> Disabled 1 keys.
==> Updating trust database...
Run Code Online (Sandbox Code Playgroud)
这个阶段停留了大约10分钟,最终宣告安装成功。
然后我尝试通过运行pacman -Syuu来更新现有软件。我按照要求重新启动了MSYS2,输入了语句,然后反复出现如下错误:
$ pacman -Syuu
:: Synchronizing package databases... …
Run Code Online (Sandbox Code Playgroud) 我知道有很多关于这个的帖子,但老实说我并不理解它.
那么,我如何为我的Qt Creator安装套件(开源5.7)?
我只想在Qt中开发并选择MinGW 32和MinGW 64.
提前致谢!
编辑:我也检查了维基页面.大多数命令没有奏效.我被告知它已经过时了.
MSYS2默认shell(bash)可以在三个启动器中选择,也可以设置环境变量MSYSTEM
.特别:
msys2_shell.bat
设置它 MSYS
mingw64_shell.bat
将它设置为 MINGW64
和 mingw32_shell.bat
设置它MINGW32
.除了贝壳的提示,明显的区别是:
$MSYSTEM
导出;uname
输出基于$MSYSTEM
;$MSYSTEM
是 MINGW*
,/mingw*/bin
在第一路径$PATH
.假设我们有/usr/bin/gcc
,/mingw64/bin/gcc
, /mingw32/bin/gcc
,的设定值的一个合理的结果$MSYSTEM
是,我们将使用不同的编译器生成的不同的二进制(POSIX或天然32/64).
$MSYSTEM
价值决定的其他重大差异是什么? pacman
受子系统?