如果不是为了跟着经历一遍(折腾自己),直接跳到最后使用 msys2 的最优的方法。

git bash 下 pacman 环境配置

安装 pacman

下载 pacman,解压到 git 的安装目录(D:\Program Files\Git,一定要是 git 的安装根目录,这样解压出来的目录结构和安装 git 时的层次保持一致)。

tar xvf pacman-5.2.2-4-x86_64.pkg.tar.xz

此时在 git bash 里运行 pacman 会提示没有软件源相关的配置文件。

error: config file /etc/pacman.d/mirrorlist.mingw32 could not be read: No such file or directory

安装软件源 mirrors

下载源配置包mirrors,一样的,要放到 git 安装的根目录下解压。

tar -xvf pacman-mirrors-20201208-1-any.pkg.tar.xz

修改相关的配置,使用清华的软件源,重启 git bash,再次运行,提示没有数据库。

pacman

warning: database file for ‘mingw32’ does not exist (use ‘-Sy’ to download)
warning: database file for ‘mingw64’ does not exist (use ‘-Sy’ to download)
warning: database file for ‘msys’ does not exist (use ‘-Sy’ to download)
error: no operation specified (use -h for help)

pacman -Sy

提示

:: Synchronizing package databases…

mingw32 760.3 KiB 2.40 MiB/s 00:00 [###################################################################################] 100%

mingw32.sig 438.0 B 428 KiB/s 00:00 [###################################################################################] 100%

warning: Public keyring not found; have you run ‘pacman-key --init’?

error: mingw32: key “4A6129F4E4B84AE46ED7F635628F528CF3053E04” is unknown
error: keyring is not writable
error: failed to update mingw32 (invalid or corrupted database (PGP signature))
mingw64 761.9 KiB 2.21 MiB/s 00:00 [###################################################################################] 100%

mingw64.sig 438.0 B 0.00 B/s 00:00 [###################################################################################] 100%
error: mingw64: key “4A6129F4E4B84AE46ED7F635628F528CF3053E04” is unknown
error: keyring is not writable
error: failed to update mingw64 (invalid or corrupted database (PGP signature))

msys 273.5 KiB 1581 KiB/s 00:00 [###################################################################################] 100%

msys.sig 438.0 B 428 KiB/s 00:00 [###################################################################################] 100%

error: msys: key “4A6129F4E4B84AE46ED7F635628F528CF3053E04” is unknown

error: keyring is not writable

error: failed to update msys (invalid or corrupted database (PGP signature))

error: failed to synchronize all databases

按提示,先进行初始化。

pacman-key --init

再次更新:

pacman -Sy

会卡主:

error: mingw32: key “4A6129F4E4B84AE46ED7F635628F528CF3053E04” is unknown

:: Import PGP key 4A6129F4E4B84AE46ED7F635628F528CF3053E04? [Y/n] y

ctrl + c 终止之后,使用 pacman-key 更新 key.

pacman-key --populate msys2

提示:

==> 错误: 密匙环文件 /usr/share/pacman/keyrings/msys2.gpg 不存在

安装 keyring

下载keyring数据库包,同样的解压。

tar -xvf msys2-keyring-1~20201002-1-any.pkg.tar.xz

再次

pacman-key --populate msys2

最后

pacman -Sy

成功。

:: 正在同步软件包数据库…
mingw32 已经是最新版本
mingw64 已经是最新版本
msys 已经是最新版本

如果上述方法还不行,可尝试更新 pacman 所有包的数据库。

pacman -S --dbonly pacman

pacman has a record of only some of the contents of the pacman package.
Try the following to fix the databse entry for the pacman package.

工具软件安装

tmux

pacman -S tmux

报错:

error: failed to commit transaction (conflicting files) 错误:无法提交处理 (有冲突的文件)

看来是依赖的文件已经存在,所以冲突了。

pacman 的 --force 选项已经丢弃,使用 --overwrite 选项来代替。

pacman -S --overwrite="*" tmux

如果出现以下提示,关闭 git bash,重新打开即可。

dofork: child -1 - forked process 17448 died unexpectedly,

netcat

pacman -S openbsd-netcat

最简单直接的方法

直接使用 msys2git bash 相当于最小化的 msys2。

因为 msys2 内置 pacman。可以安装完毕 msys2 之后,然后在 msys2 里通过 pacman 安装 git. 这样这一整套环境都通过 pacman 来管理。

pacman -S git

msys2 继承windows环境变量

msys2 没法直接使用已经加入 windows 环境变量 path 中的程序,会提示命名找不到。需要创建一个MSYS2_PATH_TYPE=inherit 的环境变量。

msys2 中 ipython 交互环境

ipython 是安装 anaconda 里带的,直接在 msys2 里使用,会有终端交互的问题,没有高亮,没有补全。

解决办法是在 msys2 里安装 winpty

pacman -S winpty

winpty 安装完毕之后,使用winpty 来启动 ipython

winpty ipython

为了方便,可以在使用别名机制,将 ipython 定义为 winpty ipython 的别名,并且持久化到 /etc/bash.bashrc 文件当中。

# 使用 winpty 来启动 ipython

alias ipython=“winpty ipython”

鼠标右键添加 msys2

关于鼠标右键点击文件夹空白处添加快捷方式参见我之前的博客, 默认从 windows 菜单启动 msys2 时,msys2 中的 shell 环境的当前目录是用户目录,如果想要像 git bash 在鼠标右键中启动,shell 环境是当前文件夹的目录,command 项的值是 D:\msys64\msys2_shell.cmd -here, 即通过 msys2_shell.cmd 脚本来间接启动 msys2.exe.

当所有的这些都完成之后,就能愉快的使用 pacman 包管理器了,再也不用单独去这里 下载 git 了。

用户目录的小坑

msys2 会自带 home 目录,在安装目录下的用户 home目录: D:\msys64\home,而不像 git bash 使用的 home 目录,是共用 windows 的 home目录,在系统盘下C:\Users\administrator, 所以之前在 git bash 的用户目录下.ssh目录中的 configauthorized_keys 文件,都需要从 C:\Users\Administrator\.ssh 迁移到D:\msys64\home\Administrator\.ssh 下。

git bash 下 pacman 环境配置相关推荐

  1. Git 的安装以及环境配置

    大家好,今天分享一下Git 的安装以及环境配置 可以去官网: 可以这样下载 这是Git官网 点一下就可以了, 官网的下载速度比较慢,这里给大家提供一个国内的镜像站 官网的下载速度比较慢,这里给大家提供 ...

  2. 【编译器】Mac下gcc环境配置折腾

    Mac下gcc环境配置折腾 1. 在Terminal键入g++提示自动安装 gcc:Terminal键入g++,来自x-code的gcc工具clang,默认版本4.2.1 Command Line T ...

  3. Windows下LLVM环境配置

    Windows下LLVM环境配置 目录 Windows下LLVM环境配置 1. 命令行下载并构建VS 2017项目 2. 项目构建过程中出现的细节 3. 心得体会 4. 参考文献 1. 命令行下载并构 ...

  4. tensorflow gpu python3.5_Win10+Anaconda3下tensorflow-gpu环境配置

    Win10+Anaconda3下tensorflow-gpu环境配置 基本环境 操作系统window10-education 显卡 NIVIDA GETFORCE GTX 1050 安装Anacond ...

  5. linux的lnmp环境,Ubuntu 16.04 LTS下LNMP环境配置简述

    Ubuntu 16.04 LTS下LNMP环境配置简述 1.安装mysql sudo aptinstall mysql-server 安装过程会提示密码 2.安装nginx和php #添加nginx和 ...

  6. vs在linux下的环境搭建,linux下vscode环境配置

    文章目录 linux下vscode环境配置 编译器,调试器安装 sudo apt update #通过以下命令安装编译器和调试器 sudo apt install build-essential gd ...

  7. Git Bash 下进行快速复制粘贴

    关于在Git Bash下进行快速的复制粘贴 比如我们需要选中这个版本ID(fc0a28),我们可以双击选择这个版本ID(fc0a28),就会如下显示选中 然后只需要触碰到fc0a28的时候单击右键就可 ...

  8. Antlr4在win10下的环境配置

    Antlr4在win10下的环境配置 最近做的项目,需要将建模生成的文件反编译生成模型.以前的导师推荐过一款语法解析器生成器ANTLR (ANother Tool for Language Recog ...

  9. Window 10下JAVA环境配置

    Window 10下JAVA环境配置   1.下载结束如图: 注意:根据自己windows系统的版本以及位数下载对应的JDK 2.配置环境 将上面下载的JDK安装好,我安装在了F盘,路径如下:F:\J ...

最新文章

  1. 学习用C#在Unity中创建一个2D Metroidvania游戏
  2. Java程序员的日常—— 《编程思想》关于类的使用常识
  3. 为什么搜索引擎都上HTTPS?SSL证书竟是如此重要—Vecloud微云
  4. 提交客户端证书_MQTT X v1.3.3 正式发布 - 跨平台 MQTT 5.0 桌面测试客户端
  5. OpenStack nova-network 支持多vlan技术实现片段代码
  6. 启动马达接线实物图_星三角降压启动电路图实物接线图
  7. gdb调试动态链接so
  8. 清北学堂模拟day4 捡金币
  9. Android数据的几种存储方式---------SharePreferences(轻量的以键值对) 的使用
  10. fdisk添加分区引起的Linux Error: 22: Invalid argument
  11. 基于单片机的八路抢答器系统设计(#0402)
  12. TK mybatis 逆向工程
  13. 冰点还原无法修改计算机时间,系统还原后无法更改系统时间?这个方法必须会...
  14. 淘宝店铺层级作用 店铺层级低有哪些影响
  15. H3C WA4320H-ACN 无线AP硬改支持集客256M内存启动
  16. 区块链基础:交易模型解读
  17. allure定制测试报告,修改allure报告标题及logo
  18. [转载]汇编语言程序设计第二版答案  沈美明
  19. hibernate完整jar包下载
  20. android shell du,Linux du 命令 command not found du 命令详解 du 命令未找到 du 命令安装 - CommandNotFound ⚡️ 坑否...

热门文章

  1. React的React.FC与React.Component
  2. SAP UI5 应用开发教程之一百零二 - SAP UI5 应用的打印(Print)功能实现详解试读版
  3. BootStrap中文网站
  4. UA OPTI570 量子力学20 量子谐振子模型中量子态的相干性
  5. 程序员的算法趣题Q25: 时髦的鞋带系法
  6. CentOS7编译安装keepalived实现自动漂移、高可用及开机启动
  7. 恩格尔注塑机数据采集
  8. Linux 文件/文件夹无法删除问题解决方案
  9. 自适应变异麻雀搜索优化算法
  10. HTML5权威指南观后笔记