Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

同个依赖安装了两个不同版本导致的问题 #91

Open
yubaoquan opened this issue Jun 14, 2022 · 0 comments
Open

同个依赖安装了两个不同版本导致的问题 #91

yubaoquan opened this issue Jun 14, 2022 · 0 comments

Comments

@yubaoquan
Copy link
Owner

问题

项目依赖了 A, B 两个依赖, B 在内部又依赖了 A. 在 package.json 中, 写死了 A 的版本为 1.0.0, 但是没有写死 B 的版本: ^1.0.0
安装的时候, 安装了1.0.1版本的 B, 而1.0.1版的 B 内部依赖的 A 的版本是1.0.2. 最终安装出来的 node_modules 目录结构如下

node_modules/
    |
    |--A v1.0.0
    |--B v1.0.1
        |
        node_modules/
            |
            |--A v1.0.2

这种情况下, 导致的问题是, 在 main.js 中引入的 A 是1.0.0, 而 B 内部引用的 A 却是 1.0.2. 此时对引入的 A(即1.0.0 版本)做任何修改, 都不会对 B 起作用

解决

在 lock 文件中锁定 B 的版本, 并将此版本的 B 依赖的 A 的版本也锁定. 以此来实现在 node_modules 中只有一个版本的 A

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant