news 2026/11/3 7:31:23

一文说清Vivado卸载前后的环境变量处理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一文说清Vivado卸载前后的环境变量处理

Vivado卸载不是删文件,是做一次系统级“断舍离”

你有没有遇到过这样的场景:
刚卸载完 Vivado 2021.1,兴冲冲装上 2023.2,结果终端里敲vivado -version报错command not found;
或者 GUI 启动后白屏两秒就退出,日志里只有一行ERROR: [Common 17-39] 'cd' failed to change the current working directory to '/opt/Xilinx/Vivado/2020.2/data';
又或者 IP Catalog 加载极慢,点开全是灰色图标,刷新十次才出来一个……

这些都不是新版本的 Bug,而是旧环境变量在“阴魂不散”。

Vivado 官方卸载脚本(Linux 的uninstall.sh、Windows 的控制面板卸载)干得其实很“干净”——它精准地删掉了/opt/Xilinx/Vivado/2021.1/下所有二进制、脚本、文档和 license 文件。但它完全不管你的 Shell 配置文件里还躺着三行export PATH=...,也不关心.bashrc末尾那个source /opt/Xilinx/Vivado/2020.2/settings64.sh是否还在默默生效。

换句话说:卸载程序清空了房间,但没关掉门牌号——别人照样按老地址敲门,敲开却发现屋里已人去楼空。

而这个“门牌号”,就是环境变量。


为什么PATH是第一个必须动刀的地方?

别小看这一行:

export PATH="/opt/Xilinx/Vivado/2020.2/bin:$PATH"

它不是一句注释,而是一条永久生效的路径指令,写进~/.bashrc后,每次你打开新终端,Shell 就会把它加到搜索路径最前面。

这意味着什么?
→ 当你输入vivado,Shell 不会去找你刚装的2023.2/bin/vivado,而是先扑向那个早已被uninstall.sh删得只剩空目录的2020.2/bin/;
→ 如果那里还残留一个损坏的符号链接(比如指向/opt/Xilinx/Vivado/2020.2/lib/lnx64.o/librdi_common.so),而该 so 文件已被删,那vivado进程一启动就会 Segmentation Fault;
→ 更隐蔽的是:VS Code 内置终端、Makefile 中的$(shell vivado -version)、甚至 Jenkins Pipeline 里的sh 'vivado -mode batch...',全都会继承这个“幽灵 PATH”。

所以清理PATH,本质是切断所有工具对旧安装路径的隐式依赖链。

我们不用暴力覆盖整个PATH(那是自毁长城),而是做一次精准“外科手术”:

# 第一步:看看当前 PATH 里还藏着哪些“老熟人” $ echo $PATH | tr ':' '\n' | grep -
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/1 4:58:22

StructBERT WebUI界面无障碍支持:WCAG 2.1合规性改造与屏幕阅读器适配

StructBERT WebUI界面无障碍支持:WCAG 2.1合规性改造与屏幕阅读器适配 1. 为什么需要为StructBERT WebUI做无障碍改造? 你可能已经用过这个中文情感分析工具——输入一段话,几秒钟后就能看到“正面/负面/中性”的判断和置信度分数。对大多数…

作者头像 李华
网站建设 2026/11/2 0:21:27

MySQL存储Qwen2.5-VL分析结果:数据库设计最佳实践

MySQL存储Qwen2.5-VL分析结果:数据库设计最佳实践 1. 为什么需要专门设计MySQL来存Qwen2.5-VL的结果 最近在给几个视觉分析项目做后端支持时,发现一个很实际的问题:Qwen2.5-VL这类模型输出的结构化数据,和传统业务数据完全不同。…

作者头像 李华
网站建设 2026/11/3 1:22:20

无需GPU也能跑!all-MiniLM-L6-v2在Ollama CPU模式下的部署教程

无需GPU也能跑!all-MiniLM-L6-v2在Ollama CPU模式下的部署教程 你是不是也遇到过这样的困扰:想快速搭建一个轻量级语义搜索或文本相似度服务,但手头没有GPU,甚至只有一台老笔记本或低配云服务器?别急——今天这篇教程…

作者头像 李华
网站建设 2026/11/2 2:18:43

零基础小白指南:Arduino安装教程结合Blynk实现远程控制

从“连不上电脑”到“手机遥控LED”:一个嵌入式新手的真实通关路径你刚拆开那块ESP32开发板,USB线插进电脑——Arduino IDE里却死活找不到端口;你反复点击“上传”,串口监视器一片空白,错误提示像天书:“av…

作者头像 李华
网站建设 2026/11/3 7:03:30

rs232串口通信原理图入门必看:手把手教你识图基础

RS232串口通信原理图实战解构:一个硬件工程师的“看图说话”手记 去年调试一台老式PLC的现场通讯模块时,我花了整整两天才让上位机收到第一帧数据。万用表测DB9 Pin3有10V跳变,示波器上看MCU的UART_TX波形干净利落,可RX线上却像死了一样——直到第三次重画原理图时,才发现…

作者头像 李华
网站建设 2026/11/2 2:31:31

C++高性能调用RMBG-2.0:图像处理加速方案

C高性能调用RMBG-2.0:图像处理加速方案 1. 为什么需要C来调用RMBG-2.0 RMBG-2.0作为当前最顶尖的开源背景去除模型,凭借BiRefNet架构和超过15,000张高质量图像的训练,在发丝级抠图、透明物体边缘处理等方面表现惊艳。官方Python实现单张102…

作者头像 李华