Yarn Workspace中如何引入与本地工作区同名的NPM包
Yarn Workspaces 同名本地包与NPM远程包冲突解决方案
你可以通过以下三种方式解决该问题,按需选择即可:
- 安装时添加忽略工作区参数
直接在执行安装命令时追加--ignore-workspace标识,强制Yarn跳过本地工作区包匹配,直接从配置的NPM源拉取对应包:yarn add react-table --ignore-workspace - 使用包别名安装(推荐,避免导入冲突)
如果你后续需要同时使用本地react-table工作区和NPM的第三方react-table,可以用别名方式安装第三方包,彻底避免同名冲突:
后续使用时直接导入别名即可,不会和本地工作区包混淆:# 语法为 yarn add <自定义别名>@npm:<实际包名>@<版本号> # 示例:将NPM的react-table别名为react-table-npm安装 yarn add react-table-npm@npm:react-table@latest// 导入NPM的第三方包 import { useTable } from 'react-table-npm' // 导入本地工作区包 import LocalTable from 'react-table' - 明确指定NPM协议安装
安装时在包名前追加npm:前缀,明确告知Yarn该依赖需要从NPM源拉取,不匹配本地工作区:yarn add react-table@npm:react-table@<你需要的版本号>
验证方式:安装完成后打开对应子工作区的
package.json,确认react-table的依赖项为具体版本号而非workspace:*格式,即说明安装成功。
内容的提问来源于stack exchange,提问作者StrayArrow
相关产品推荐
相关产品推荐

