news 2026/4/16 15:47:36

一文说清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/4/16 11:01:47

Qwen3-ASR-1.7B语音转文字实战:mp3/wav/flac格式全支持的AI工具

Qwen3-ASR-1.7B语音转文字实战:mp3/wav/flac格式全支持的AI工具 你是否还在为会议录音整理耗时、采访素材转写低效、教学音频无法快速提取重点而发愁?一段5分钟的清晰人声音频,人工听写往往需要20分钟以上,还容易漏掉关键信息。现…

作者头像 李华
网站建设 2026/4/15 14:51:54

视觉遥操作系统的进化论:从专用设备到AnyTeleop的通用革命

视觉遥操作系统的进化论:从专用设备到AnyTeleop的通用革命 在机器人技术发展的长河中,遥操作系统一直扮演着连接人类与机器世界的桥梁角色。想象一下,外科医生能够通过精确的手部动作远程操控手术机器人完成微创手术,或者工程师在…

作者头像 李华
网站建设 2026/4/16 10:37:27

电机控制器保护电路设计:过压与过流深度剖析

电机控制器保护电路实战指南:过压与过流不是“加个比较器”那么简单 你有没有遇到过这样的场景? 调试一台新设计的400 V电驱控制器,刚上电空载运行一切正常;一接入电机,PWM刚起振,IGBT就“啪”一声炸了——…

作者头像 李华
网站建设 2026/4/16 8:29:02

Flutter TabBar与TabBarView实战:从基础到高级定制

1. 初识TabBar与TabBarView:基础用法全解析 在Flutter应用开发中,TabBar和TabBarView这对黄金搭档可以说是实现标签式导航的标配。我第一次接触这两个组件时,就被它们的简洁高效所吸引。想象一下手机上的新闻客户端——顶部是分类标签&#…

作者头像 李华
网站建设 2026/4/16 12:28:19

StructBERT中文情感分析:5分钟搭建WebUI界面,零基础也能用

StructBERT中文情感分析:5分钟搭建WebUI界面,零基础也能用 1. 开门见山:不用写代码,也能玩转中文情感分析 你有没有遇到过这些场景? 运营同事发来几百条用户评论,问你“大家到底喜不喜欢这个新功能&…

作者头像 李华