The "paths[1]" argument must be of type string. Received undefined 错误的解决

2025-05-30 07:46:05
129次阅读
0个评论
最后修改时间:2025-06-11 22:53:27

##HarmonyOS 应用开发##

这两天我准备把我写的一些库放到OpenHarmony三方库中,让其他人能够通过ohpm加入到自己的项目中去,整个过程实际上我觉得是比较复杂的,特别是第一次完成的时候很容易出问题,当然,完成一个以后再去上传新的就感觉简单很多了

在我第一次把所有流程都走完,进入最后一步,即提交的har包的时候

输入:ohpm publish <har包地址>,回车,接着报了这么一个错误

The "paths[1]" argument must be of type string. Received undefined

如图所示

微信图片_20250529232848.png

遇到这个问题,我第一反应是把这个错误提示放到百度里去搜……结果发现好像没有一摸一样的错误提问,唯一一个跟鸿蒙相关的,人家的报错里是Tha "path" argument……,我是paths[1],跟我的还不一样,而且下面也没有人能给出实际解决问题的方法,考虑到那个问题的提出是23年的……其实参考价值也不大……

把这个问题翻译一下……意思就是路径必须是string,目前是undefined,而且这个路径还是个数组,数字下的第2个元素……

问题是……路径是啥?哪个路径?群里的朋友进行讨论时,考虑到几种可能,比如说创建模块的时候,默认生成的那个Index.ets的文件名是不能修改的等等,但是把大家的猜测一一测试下来,发现还是这个问题。

又仔细阅读了一遍官网中ohpm publish相关的文档,发现一个问题

即官网中的所有样例,都是基于Command Line Tools实现的,不是直接通过cmd调出的“命令提示符”里实现的,当然,整个发布三方库的过程中,除了最后一步外,前面的步骤都是可以通过cmd完成的。

既然官方会专门推出这么一个工具,说明Command Line Tools是很重要的,然后在文档中有一个专门的提示“HarmonyOS SDK已嵌入命令行工具中,无需额外下载配置。”,所以……我直接在DevEco Studio的终端里,通过一路cd,进入到har包所在的路径,然后ohpm publish发布,提交成功……

所以……其实这个错误的原因是,不要直接用cmd进行publish发布!

至此问题解决,我也发布了第一个三方库,用于导出excel表格的库,大家可以通过ohpm install excel_hm安装使用

收藏00

登录 后评论。没有帐号? 注册 一个。