查找问题与解决方法
本地 npm ci 成功,CI 锁文件校验失败:比较 legacy-peer-deps
锁文件存在仍报 in sync 或 Missing 时,核对 npm 版本和依赖树配置;统一项目策略后再审查锁文件,保留 peer 兼容性检查。
Luxon 3.7.2 无效 Interval 调用 isEmpty 报 valueOf 错误
Interval对象存在不代表起止时间有效。先分离invalid、empty与正常区间,保留原输入错误;不要用交换端点或全局异常兜底掩盖valueOf异常。
esbuild 报 Transforming destructuring 不支持,检查 Safari 目标
esbuild 兼容性表修正后,含 Safari 13.1 的目标可能要求尚未提供的解构降级。区分目标变更、真实转换与 supported 覆盖的风险。
Nest 单边 forwardRef 让请求作用域依赖挂起,12.2.0 补上循环检测
两个请求作用域provider形成循环,却仅一侧使用forwardRef,旧版解析可能永不完成。区分拆开循环、双边声明与12.2.0恢复错误检测的作用。
Gradle worker 收到的 name 变成 null:把名称作为参数值传递
任务里的 Named 对象有名称,经过 classloader 隔离后却丢了 name。对只需要名称的工作,传 ListProperty<String> 快照可避开复杂对象重建。
Wry Android 查询 Cookie 后闪退:getCookie(...) must not be null
没有 Cookie 的 URL 可以让 Android CookieManager 返回空引用,Wry 的非空 Kotlin 返回值随后触发主线程异常。Rust 收到空列表,也可能还没有观察到崩溃。
Redis 写入报 MISCONF,RDB 保存提示 Permission denied
Redis 写入返回 MISCONF,日志同时显示 RDB 保存 Permission denied。核对实际数据目录、服务进程身份和权限,修正后验证后台保存真正完成,避免把关闭停写保护误当成持久化恢复。
sccache 把工作区包装器认成 C 编译器:检查探测阶段的 CARGO
Cargo 1.94.1 的 rustc -vV 探测经过双层包装器,却未提供 CARGO。sccache 因而无法识别工作区包装器,可能在正式编译前就报 Compiler not supported。
Node FTPS 报 session reuse required:比较直接 TLS 与 socket 升级路径
FTPS 控制连接成功而数据连接报 522 时,检查 tls.connect 是否通过已有 net.Socket 传递 session。区分会话复用、证书验证和服务端安全要求。
Python 3.11 装不上 IPython 9.12:核对 Requires-Python
IPython 9.11 和 9.12 的发行元数据要求 Python 3.12,Python 3.11 会被 pip 排除。说明 9.13.0 恢复支持与受控版本选择。
TypeScript 原生编译后导出函数变成数字,检查循环里的同名局部变量
原生 TypeScript 的特定 CommonJS 转换可能把循环局部同名变量写回模块导出,导致函数执行后导出被数字覆盖。以实际产物和作用域定位。
SQLAlchemy 关闭编译缓存后,from_statement 丢失 params 值
SQLAlchemy 2.1 的 ORM FromStatement 在无缓存键编译路径中可能丢失 params。正式 2.1.6 已修正;临时将值传给 Session.execute,保留参数绑定和原查询权限条件。
date-fns 相对时间显示 60 seconds,为什么没有变成 1 minute
formatDistanceStrict 接近单位边界时可能显示 60 seconds、60 minutes 或 24 hours。说明 date-fns 4.4.0 先选单位再取整的路径,按页面约定选择取整和文案。
Django 用 psycopg2 命名游标报 outside of transactions:查询与读取都要在事务内
Django 使用 psycopg2 命名游标报事务外错误时,将声明和分批读取放在同一连接的事务中;区分自动提交、事务池、流式响应与 HOLD 游标生命周期。
Python strptime 不带年份解析 02/29 报日期超出范围
Python datetime.strptime 省略年份时使用默认年 1900,无法构造 2 月 29 日。完整日期应补真实年份,只有月日的字段可用闰年占位后取出月日,并保留无效日期校验。
IPykernel 辅助线程日志总出现在初始化单元格,检查输出上下文
队列日志由辅助线程写出时,IPykernel 的 parent header 可能固定旧单元格。核对 7.1.0 路由变化、实际内核环境,以及自由线程 Python 的上下文继承。
Surefire 3.6.0 构建成功却零测试,检查 provider 的 include 匹配
Surefire 3.6.0 的 JUnit Platform provider 可能过滤掉扫描器已找到的测试。已确认项目可退回 3.5.6,并核对实际数量和回退后的零测试失败保护。
git --force-with-lease 推送成功,却覆盖了远端新增提交
lease省略预期值时会依赖可变远程跟踪引用,fetch后推送通过不代表新增提交已经整合。审查并保留旧历史,授权改写时固定已审核完整OID。
Pydantic strict 模式的整数 Literal 仍接受 2.0
Pydantic 2.14 的整数 Literal 可走 Python 等值查找,浮点 2.0 可能匹配整数 2。协议要求区分类型时,在 before 验证器中检查原始类型,再保留 Literal 的取值范围。


