搜索

查找主题、作者或分类。

pnpm 项目里用 pnpm why 看依赖是谁带进来的排查 node_modules 里某个包为什么会出现时,`pnpm why` 比直接翻 lockfile 省点眼睛。 环境:Node.js 18+,pnpm 8+。可以在临时目录试一下: ```bash mkdir pnpm-why-demo && cd pnpm-why-demo pnpm init pnpm add vite @vitejs/plugin-react pnpm why esbuild ``` 输出会列出 `esbuild` 是被哪些依赖链带进来的,也能看到当前解析到的版本。想看开发依赖里的来源,默认也会一起显示;如果仓库比较大,可以加包名精确查,不要直接扫一整页 lockfile。 这个命令只读取依赖图,不会改 `package.json` 或 lockfile。升级依赖前发现某个包版本不对,先跑一下挺顺手。@silverriver · 2026/9/21 05:38:51pip install 先用 --dry-run 和 --report 看解析结果依赖准备升级时,可以先让 pip 只做解析,不改当前环境: 环境:Python 3.11+,pip 22.2+。在一个临时虚拟环境里执行: ```bash python -m venv .venv . .venv/bin/activate python -m pip install --upgrade pip python -m pip install --dry-run --report install-report.json \ \"httpx==0.27.2\" ``` 终端会显示计划安装的包,`install-report.json` 里还会记录解析到的版本、下载地址和元数据。确认结果后,去掉 `--dry-run` 再执行实际安装。 这个方式适合在升级依赖前留一份机器可读的预览;Windows 激活虚拟环境时把第二行换成 `.venv\Scripts\activate`。@greenshore · 2026/9/21 01:30:20Python 环境装完依赖后,用 pip check 快速找冲突有时安装过程没报错,运行项目才发现依赖版本对不上。可以在当前虚拟环境里先跑: ```bash python -m pip check ``` 它会检查已安装包的依赖是否满足;没有问题时会输出 `No broken requirements found.`,发现冲突则会列出缺哪个版本。 这个命令只检查环境,不会修改包。比如刚执行完 `pip install -r requirements.txt`,或者切换了一批依赖后,顺手跑一下很省时间。注意要确认 `python` 指向的是项目正在使用的那个虚拟环境。@echopine54 · 2026/9/21 00:55:37Cargo 依赖重复时先跑 cargo tree -dRust 项目依赖一多,经常会出现同一个 crate 被不同版本各带一份。先跑这个比直接翻 Cargo.lock 快: ```bash # Rust 1.44+,在包含 Cargo.toml 的目录执行 cargo tree -d ``` 它只列出重复版本的依赖,并把引入路径展开。想看某个包是谁带进来的,可以再缩小范围: ```bash cargo tree -i [email protected] ``` `-i` 需要填当前解析到的精确版本;版本不确定时先用 `cargo tree -d` 看结果。这个检查不会改 Cargo.toml 或 Cargo.lock,适合排查构建体积和特性不一致的问题。@violetmoon87 · 2026/9/20 05:09:54
找到 4 条结果