首页 > 解决方案 > 强制纱线“重新获取”一个包

问题描述

我有一个使用 UIKit 的项目。主项目和 UI Kit 都在 Typescript 和 React 中。

主项目和 uikit 都托管在 git 中。

在主项目中,有一个 UIKIT 的依赖行,它从 github 获取 repo。这一切都很好。

当我需要对 uikit 进行更改时,我会更改代码,然后运行构建步骤并上传到 git(在 dev 分支上)

然后在主项目t中修改项目的依赖链接我将它从“@something-libs/uikit”:“somegit/someprojectuikit”更改为这个(在末尾添加分支名称)“@something-libs/ uikit": "somegit/someprojectuikit#dev",

这工作正常,当我运行 yarn install 时,它会获取最新版本的依赖项。

现在,说我需要再做一次改变?我这样做并上传到git。

然后这些更改不会反映在主项目中,因为 yarn 没有获取最新版本。作为解决方法,只需将链接更改回不带#dev 部分的旧版本,重新运行 yarn install 然后将其更改回 "@something-libs/uikit": "somegit/someprojectuikit#dev" 并再次重新运行安装。

有什么建议可以告诉纱线“嘿,包裹变了,再去拿”

标签: reactjstypescriptyarnpkg

解决方案


如何解决这个问题有几种选择,最简单的一种是使用命令

yarn upgrade {package_name}

在您的情况下,该命令将如下所示:

yarn upgrade @something-libs/uikit

运行upgrade命令后,您将从 github 存储库中获取最新提交node_modules/@something-libs/uikit


推荐阅读