在我的React原生项目
中遇到了这个问题问题: 1.有两个回购 -
一个。 Main React Native App GitHub repo
湾图书馆回购 - 示例 - https://github.com/testlib
主React本机App repo使用库repo作为包。 所以,在package.json中添加了一个条目
示例 -
" devDependencies":{ “test-lib”:“testlib” }
然后我做了纱线安装。一切都很好。看到testily repo changes添加为 / node_modules 中的包。
此外,我更新了 testlib repo并进行了一些更改,并认为如果我在主应用程序仓库中再次执行 yarn install 将在我的主要内容中为我提供最新更改应用
但是,发现更新的更改未包含在我的主要回购 / node_modules
中答案 0 :(得分:0)
<强>解决方案:强>
我为每个更新创建了发布标记,我希望我的主要App包含在内。 因此,我为第一次提交创建了 2个发布标记 - v1.0.0 ,然后为我希望稍后包含的更新创建了 v1.0.1 我的主要回购。
由于已为新更新添加了标签,因此我必须在主要的App repo package.json 文件中进行一些小的更改。
“ test-lib ”:“ testlib ”
替换为:
“ test-lib ”:“ testlib#v1.0.1 ”,
答案 1 :(得分:0)
如果您对package.json
的{{1}}依赖关系指向git存储库而不是某种标记定义(如@udai所述),那么常规test-lib
will not look for changes to the git repository as based on the lock file, that dependency is satisfied。
作为标记的替代方法,您可以做什么(如果您正在积极开发模块并且不在标记适当的位置,则非常有用):
yarn install
- 这会升级所有依赖项。yarn upgrade
- 这应该只升级您的yarn upgrade test-lib
based on what the docs say。test-lib
- 这将安装该模块的最新版本(see docs)。使用此代替yarn add <git-repo path/url>
,因为我认为您的软件包尚未发布(或者您的更改尚未公开发布)。我建议您阅读纱线文档,以熟悉他们默认情况下的实际操作。