我的项目有一个依赖项,我有时从包服务器获取,有时从我的机器上的本地副本获取.因此,我经常需要在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使用我的依赖项的最新版本?
在删除节点模块后重新安装包使用:
yarn install --check-files
您可以使用该yarn link
命令.这将设置您的本地依赖项,以便每当您对依赖项进行更改时,它会立即显示在您的主项目中,而无需您执行任何其他操作来更新它.
如果你的主项目在,~/programming/main
并且你的依赖项在~/programming/dependency
并被命名MyLocalDependency
,你将需要:
1)yarn link
从您的依赖项中运行(没有其他标志):
cd ~/programming/dependency yarn link
2)yarn link
从主项目中运行:
cd ~/programming/main yarn link MyLocalDependency
而且你已经完成了!
如果要从依赖项的本地副本切换到其他位置托管的副本,则可以使用yarn unlink
.
cd ~/programming/main yarn unlink MyLocalDependency cd ~/programming/dependency yarn unlink
如果您使用NPM而不是Yarn,npm link
并npm link
以相同的方式有效地工作.要取消链接依赖关系,请运行npm rm --global
.(这是因为npm link
在全局NPM包中创建了一个simlink,因此从全局包中卸载链接依赖项也会破坏链接.)
请参阅的npm link
文件和 如何卸载使用NPM链接安装包?
还有另一种方法。只需使用yarn upgrade package-name
参见手册:https://yarnpkg.com/lang/zh-CN/docs/cli/upgrade/