2026/4/18 9:11:53
网站建设
项目流程
淘客网站如何做推广,固始做网站,好玩网页游戏大全,百度多长时间收录网站一、背景
由于我在项目中使用parameterFile配置了参数化文件#xff0c;来指定依赖版本信息#xff0c;导致我直接使用ohpm install 包名 引入依赖时报错(这种操作其实是错误的#xff0c;下面有详细讲)
原因为#xff1a;当项目级 oh-package.json5 文件中存在“…一、背景由于我在项目中使用parameterFile配置了参数化文件来指定依赖版本信息导致我直接使用ohpm install 包名 引入依赖时报错(这种操作其实是错误的下面有详细讲)原因为当项目级 oh-package.json5 文件中存在“parameterFile”配置时无法执行“ohpm install pkg”命令二、parameterFile 是什么详细可查看官网链接https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-oh-package-json5#section1224114628202.1、parameterFile介绍来源官网OHPM新增了参数化配置功能。开发者可在项目根目录配置一个参数化文件json5格式文件在该文件中维护模块或依赖版本信息不同模块将根据该文件中的版本进行配置满足不同构建场景下开发者快速切换依赖版本的需要。同时支持通过命令行指定参数化文件降低流水线场景下模块和依赖版本的变更难度。2.2、parameterFile作用是集中管理依赖的版本参数比如把版本号定义在单独的参数文件里依赖通过 param:版本参数名 引用但它并不强制所有依赖都必须用参数引用我直接在 dependencies 里写具体版本比如 xx/bh_log_tool: ^1.0.0-alpha.1属于显式指定版本符合 ohpm 的依赖解析规则而 ohpm install 包名 会自动写入版本到dependencies但因为 parameterFile 的存在ohpm 会拦截这个 “自动写版本” 的操作防止破坏参数化版本管理的规范。三、两种模式操作逻辑3.1、parameterFile 模式步骤1创建工程级版本参数文件比如项目根目录新建 parameterFile.json5参数文件集中维护所有的依赖版本步骤 2配置工程级 oh-package.json5根目录在根目录的oh-package.json5中指定parameterFile路径关联步骤 1 的参数文件步骤 3配置模块级 oh-package.json5如 entry 模块在需要使用依赖的模块如entry/oh-package.json5中通过param:参数名引用工程级参数文件的版本(需要手动写入依赖)步骤 4执行全量安装命令在项目根目录执行即可下载新增依赖ohpm install此时 ohpm 会读取 parameterFile 中的版本参数解析 dependencies 中的依赖声明下载对应版本的 xxx/bh_log_tool 到项目中并生成 oh_modules。3.2、无 parameterFile 模式//安装指定版本 ohpm install xxx/bh_log_tool1.0.0-alpha.1四、两种方式总结场景是否能执行ohpm install 包名是否需要手动写dependencies最终安装命令无 parameterFile✅ 可以❌ 不需要自动写入ohpm install 包名有 parameterFile❌ 禁止✅ 需要声明依赖ohpm install全量