折腾了一番,问题实在有点莫名其妙,网上也没找到相关解答,所以记录一下。
现象
前端项目启动后,所有接口都无法使用,请求出去的链接变成了本地路径,类似 /c/Users/bash/apis/...
这种情况,导致接口请求报错。
调试一番,发现环境变量 /apis
带上路径前缀,变成了类似 /c/Users/bash/apis/
(大致,已经忘记具体路径了)。
排查
搜了一下,没有任何信息,让 AI 处理了一下,也没有头绪,只是让我使用工具注入终端环境变量,避免出问题,这不是我想要的。只能手动测试,先收集信息吧。
大致就是本地项目问题、终端环境问题、系统环境问题。按这样先确认问题区域。
经过多次测试,Powershell 里正常。Git Bash 在外部不用编辑器打开项目也正常。用编辑器,用同一个 Git Bash 启动也正常。
不是系统问题、不是终端问题、不是编辑器问题,但可能是某些配置某种情况下影响了终端环境,并且这些配置只有中编辑器下才生效。
所以继续排查了,编辑器本身的终端配置,没有任何处理,项目内的编辑器配置文件 setting.json
,也没有相关的配置影响到环境变量。
没头绪,最后打印出终端里的环境变量,仔细比较。注意到,出问题的环境里,有非常多的 conda 的变量,而且路径风格跟其他使用的不一致,两种变量参杂。询问了AI,可能是这些变量,导致触发了路径自动转换处理,将 /apis 识别为路径,所以添加上了路径信息,AI 给出几种方案清理多余的环境变量注入,但都无效。
方案
多轮排查问题,缩小范围,提供提示信息多次询问,找出了一种可能:编辑器会记录操作的环境情况。
恰好出问题的时候,我在当前项目创建了临时的工作目录,开发 python 后端。但后来这些信息都移除了,目前没地方操作了,也不应该存在信息。但目前看来,编辑器依然会记录一些信息,需要手动删除缓存。
- 进入目录
%appdata%\Cursor\User\workspaceStorage
(VSCode下Cursor
应该换成Code
), - 关闭编辑器,重新打开
- 找更新时间最新的一项,就是当前操作的环境
- 删除文件夹
- 打开项目,测试是否没有历史记忆了(不会自动打开上次的文件夹)
这样再次打印环境变量,就正常了。