使用yarn add安装本地.tgz包时遭遇缓存旧版本问题
解决Yarn(jlpm)本地.tgz包缓存问题的方案
针对Yarn 1.x(含jlpm)的替代方案
由于Yarn 1.22.1没有直接的--dont-use-cache参数,可以试试以下几种方法:
- 使用
--force参数强制更新:
安装本地包时添加--force,会强制Yarn重新读取本地tgz文件,绕过缓存:jlpm add ./package-0.1.0.tgz --force - 手动删除单个包的缓存:
先通过命令查看缓存目录:
进入该目录后,找到对应包的缓存文件夹(通常命名格式为jlpm cache dirv1/npm-<包名>-<版本号>-<哈希值>),直接删除该文件夹,再重新执行安装命令即可。 - 修改依赖写法并强制安装:
在package.json中将本地包依赖写成file:./package-0.1.0.tgz,每次更新tgz后执行:
同样能触发重新读取本地最新文件。jlpm install --force
是否需要切换工具?
如果上述Yarn的方案仍无法满足需求,npm对本地包的缓存控制更直接,支持--no-cache参数直接禁用缓存:
npm install ./package-0.1.0.tgz --no-cache
如果项目允许切换包管理工具,npm是一个可行的替代选择。
内容的提问来源于stack exchange,提问作者jdm
相关产品推荐
相关产品推荐

