yarn install不从库repo获取更新

时间:2018-02-01 15:57:05

标签: react-native yarnpkg

在我的React原生项目

中遇到了这个问题

问题: 1.有两个回购 -

一个。 Main React Native App GitHub repo

湾图书馆回购 - 示例 - https://github.com/testlib

  1. 主React本机App repo使用库repo作为包。 所以,在package.json中添加了一个条目

    示例 -

    " devDependencies":{              “test-lib”:“testlib”    }

  2. 然后我做了纱线安装。一切都很好。看到testily repo changes添加为 / node_modules 中的包。

    此外,我更新了 testlib repo并进行了一些更改,并认为如果我在主应用程序仓库中再次执行 yarn install 将在我的主要内容中为我提供最新更改应用

    但是,发现更新的更改未包含在我的主要回购 / node_modules

2 个答案:

答案 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>,因为我认为您的软件包尚未发布(或者您的更改尚未公开发布)。

我建议您阅读纱线文档,以熟悉他们默认情况下的实际操作。