我的项目有一个依赖项,我有时从包服务器获取,有时从我机器上的本地副本获取。因此,我经常需要在查找依赖项的地方使用 Yarn 开关。此外,我经常更改依赖项的本地副本,并且需要看到该更改反映在我的主项目中。因此,我需要一种方法来告诉 Yarn 继续查看依赖项的相同位置,但要重新安装依赖项,跳过缓存并直接从其当前源中获取它,即使版本号没有更改。 (有时我想尝试对依赖项进行小的更改,并且每次更新版本号很快就会变得烦人。)
我该怎么做?
我尝试了以下方法,但它们都不起作用:
yarn remove dependency
yarn add file:/dependency
继续使用之前版本的依赖。
yarn remove dependency
yarn cache clear
yarn add file:/dependency
yarn install --force
也继续使用之前版本的依赖。
yarn remove dependency
rm -rf node_modules/
yarn cache clear
yarn add file:/dependency
yarn install --force
仍然继续使用之前版本的依赖。
如何确保 Yarn 使用我的依赖项的最新版本?
原文由 Kevin 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用
yarn link
命令。这将设置您的本地依赖项,以便每当您对依赖项进行更改时,它会立即显示在您的主项目中,而您无需执行任何其他操作来更新它。如果您的主要项目位于
~/programming/main
并且您的依赖项位于~/programming/dependency
并命名为MyLocalDependency
,您将需要:1)从您的依赖项中运行
yarn link
(没有其他标志):yarn link <name of dependency package>
:你完成了!
如果您想从依赖项的本地副本切换到托管在其他地方的副本,您可以使用
yarn unlink
。如果您使用 NPM 而不是 Yarn,
npm link
和npm link <dependency>
以相同的方式有效地工作。要取消链接依赖项,请运行npm rm --global <dependency>
。 (这是因为npm link
通过在全局 NPM 包中创建一个 simlink 来工作,因此从全局包中卸载链接的依赖项也会破坏链接。)请参阅
npm link
文档 和 如何卸载使用 npm 链接安装的软件包?