Yarn 链接,对链接包的更改未反映在主机应用程序中

问题描述 投票:0回答:3

我正在学习如何使用

yarn link
来处理一个包,并在主机应用程序中反映出变化,我要么没有得到某些东西,要么某些东西不起作用。

全部内置angular5..

我有一个应用程序 MyApp,其中包含

@org/my-package
node_modules
.

我需要更改我的包,为了提供更改,我使用

yarn link
创建符号链接并在 MyApp 中测试包。

这就是我所做的...

在我的包中,我运行一个构建。它创建分发文件。然后我进入dist包并运行

yarn link
..这是成功的..我得到了在MyApp cli中使用
yarn link @org/my-package
的说明..

然后我转到 MyApp,然后运行

yarn link @org/my-package
。这也是成功..

然而,当我在我的包中进行更改并再次运行构建时,它们不会反映在 MyApp 中。

我不明白什么?

我没有错误。

MyApp 中的

@org/my-package
中的
node_modules
应该存在还是不存在? my-package 中 dist 上的
yarn link
不是要覆盖那个吗?

无论我搜索多少,看起来 yarn 文档在这个主题上都有点浅显易懂。

angular5 yarnpkg npm-link
3个回答
4
投票

我遇到过类似的问题。但是我所做的是将依赖于组件库的项目中的 package.json 编辑为例如 "@org/my-package": "link:../packages/dist/my-package" (编辑路径)这只适用于 yarn,如果你使用 npm,这不是一个选项,但你可以使用 npm link。

之后我必须在项目中安装 yarn。因此,当您重新构建 my-package 时,MyApp 中 node_modules 中的 @org/my-package 应该被更新。


1
投票

删除 node_modules 并重新安装所有软件包并重置

yarn link your_local_package
对我来说很好。


0
投票

我也有这个问题

当我更新我的库时,它没有反映在我的主项目中,我查看了模块内部,有我的包,一切都很好,一切都更新了,没有任何问题,那时我决定删除

angular\cache
文件夹,那是它起作用的时候,在 angular.json 中尝试这个设置,它对我有用

"cli": {
    "cache": {
        "enabled": false
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.