当前位置: 首页 > news >正文

【笔记】解决MSYS2安装后cargo-install-update.exe-System Error

#工作记录

cargo-install-update.exe-System Error
The code execution cannot proceed because libgit2-1.9.dll wasnot found. Reinstalling the program may fix this problem.

                                                                                                                        确定 

在 Windows 的 MSYS2 环境中使用 Rust 和 Cargo,可能会遇到 cargo-install-update.exe 运行时报 System Error 的问题。以下是解决该问题的详细过程和关键步骤。


问题分析

在安装 cargo-update 时,系统报错显示 libgit2-1.9.dll 丢失,导致 cargo-install-update.exe 无法运行。这通常是由于 Rust、Cargo 或 MSYS2 依赖项未正确安装或环境变量配置错误


解决步骤

1. 确保 MSYS2 终端中安装了 Rust

MSYS2 中执行以下命令,检查 rustccargo 是否已经安装:

rustc --version
cargo --version

如果返回 command not found,则需要安装 Rust:

pacman -S mingw-w64-x86_64-rust

安装完成后,再次检查 Rust 版本是否正确。

 


2. 安装缺失的 libgit2 依赖

Cargo 需要 libgit2 作为依赖项,如果没有安装该库,可能会导致 cargo-install-update.exe 运行失败。在 MSYS2 终端中执行:

pacman -S mingw-w64-x86_64-libgit2

 

安装后,可以检查 libgit2-1.9.dll 是否正确存在:

ls /mingw64/bin/libgit2*.dll

 


3. 重新安装 cargo-update

如果 cargo-install-update.exe 仍然报错,尝试强制重新安装 cargo-update

cargo install cargo-update --force

 

如果 cargo-update 需要更高版本的 Rust(如 rustc 1.81),而当前 Rust 版本较低,可以执行以下命令升级 Rust:

rustup update
或
pacman -S mingw-w64-x86_64-rust

 

然后再次运行:

argo install cargo-update --force --locked


4. 配置环境变量

确保 Cargo 二进制文件目录已添加到 PATH,否则 Cargo 相关工具可能无法运行。在 MSYS2 终端执行:

export PATH="$HOME/.cargo/bin:$PATH"

为了 永久生效,可以将此命令添加到 ~/.bashrc

echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

 


5. 运行 cargo-update 并验证

安装完成后,可以运行以下命令检查所有 Cargo 工具是否需要更新:

cargo install-update --all

如果所有包都是最新的,则说明 cargo-install-update.exe 已成功安装并可以正常运行!🎉

 


总结

  • 安装 Rust 并确保 cargo 可用
  • 安装 libgit2 依赖 解决 DLL 缺失问题
  • 强制重新安装 cargo-update 并确保版本匹配
  • 正确配置环境变量 让 Cargo 工具可执行
  • 最终验证 确保 Cargo 组件正常运行

经过这些步骤,MSYS2 运行 Rust 和 Cargo 的环境已经正确配置,cargo-install-update.exe 也能够正常执行。如果在后续使用过程中出现新的问题,可以随时参考这些步骤进行排查!🚀😎

http://www.xdnf.cn/news/885997.html

相关文章:

  • Mybatis动态SQL语句
  • aitrader兼容talib,布林带的简单策略,创业板十年年年化15.5%,附代码
  • 成都芯谷金融中心·文化科技产业园:构建产业新城的实践与探索
  • Python打卡训练营day45——2025.06.05
  • 11 - ArcGIS For JavaScript -- 高程分析
  • Redis 缓存策略:借助缓存优化数据库性能并保障数据一致性
  • Liunx进程替换
  • 【Linux篇】0基础之学习操作系统进程
  • 2021 RoboCom 世界机器人开发者大赛-高职组(初赛)解题报告 | 珂学家
  • Spring中@Primary注解的作用与使用
  • Dockerfile实践java项目
  • 哈希算法实战全景:安全加密到分布式系统的“核心引擎”
  • 25_06_05Ubuntu系统root密码破解
  • Vite模块联邦(vite-plugin-federation)实现去中心化微前端后台管理系统架构
  • ROS:pcd点云转为路径规划的pgm文件和yaml文件
  • PHP的namespace
  • 第十三节:第五部分:集合框架:集合嵌套
  • ubuntu24.04 使用apt指令只下载不安装软件
  • BENTLY模块特价型号3300/16-14-01-03-00-00-01找小游、主要应用领域
  • ArcGIS Pro 3.4 二次开发 - 公共设施网络
  • windows server2019 不成功的部署docker经历
  • python项目如何创建docker环境
  • 无 sudo 权限下 Conda 安装 GCC 全攻略:虚拟环境适配、版本冲突解决与实战指南
  • 负载均衡将https请求转发后端http服务报错:The plain HTTP request was sent to HTTPS port
  • RAG:大模型微调的革命性增强——检索增强生成技术深度解析
  • Android15 launcher3
  • proteus8安装教程
  • PLM软件:如何打通产品研发全生命周期的“任督二脉”?
  • N2语法 強調、限定
  • C获取unix操作系统的信息