#jitoa #关于axios自动更新无法适配API9的解决方案 原创
安苒anran0
发布于 2023-9-17 17:14
浏览
0收藏
本博客由 金陵科技学院-开放原子开源社 刘张豪编写
@toc
相关环境
开发环境:DevEco Studio 3.1.1 Release
系统运行时:OpenHarmony 3.2 Releas
申明
本博客仅针对api9 且 已经导入axios 包的项目,如果想需要新建api9 项目导入axios 包在项目下方提出,如果有人需要,我就另外出一期视频。
问题描述
在axios 更新自 axios 2.0.3 版本后,
即使oh-package中声明了是用2.0.2 版本 。
老项目在清理缓存后也会自动更新到 2.0.3版本。
又因为2.0.3版本只支持使用API10 ,导致很多已经选用API 9 的 的应用也会没有办法正常编译。
问题出现规模
这两天这个问题很多,水群的时候也看到有人在提问。我正好也遇到了正好解决一下。
构建错误截图
构建错误信息
ERROR: The compatibleSdkVersion 9 cannot be smaller than version 10 declared in library [:axios]
as the library might be using APIS not available in 9
报错项目 oh-package.json5文件展示
{
"license": "",
"devDependencies": {
"@ohos/hypium": "1.0.6"
},
"author": "",
"name": "intelligentscale",
"description": "Please describe the basic information.",
"main": "",
"version": "1.0.0",
"dependencies": {
"@ohos/axios": "^2.0.2"
}
}
解决思路
既然最新的axios 没有办法使用api9 ,而且自动下载的axios 没有办法使用。
那么我手动把需要构建的axios 更换为 2.0.2版本,然后再构建项目。
理论可行开始实践
解决方案
1.找到相关目录
1.1.找到相关模块的存放目录
鸿蒙应用开发的相关目录都是存放在项目根目录下的oh_modules 中。
1.2.使用资源管理器打开相关目录
在资源管理器打开oh_modules
然后你就会打开下面这个目录
2. 放入老版本的axios
###2.1. 下载本文的附件
2.2. 将我附件内的文件
2.3.检查是否导入成功
3.检查项目
3.1尝试是否可以重新构建这个项目
一般到这里不报错就可以正常构建了
如果还是报错,加这个qq:1715139614私聊我
防止问题复现 [可选]
因为我的项目使用了git管理。
所以为了防止问题复现,可以将oh_modules 目录加入git中
全部搞定,下班
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
axios_2.0.2-oh_modules.zip 179.8K 124次下载
已于2023-9-18 08:42:01修改
赞
3
收藏
回复
相关推荐
感谢分享!
你用的是^2.0.2,当然锁定不了这个版本,远端有最新的版本,只要主版本号不变,都会更新到最新的版本。
想要锁死这个版本,去掉^就好了,不用还拷贝这个版本代码这么麻烦。
学会了
哪个文档有讲这个内容,是npm的知识点吗
你没有抓住问题的本质。
1、oh-package.json5 文件有两个,一个是工程级的,一个是entry目录下的。你是在工程级的文件里进行的。
2、你安装axios依赖,应该在entry目录下的oh-package.json5里进行。
添加axios依赖如下:
3、然后,你应该到entry目录下的oh-modules去查看依赖,而不是工程级的oh-modules里去查看依赖。
感谢!!!我已经发现这个问题了,但是还没能花时间去重写一篇博客。
你好,请问,^2.0.2和2.0.2的区别是什么,
^2.0.2表示安装2.0.2以上的版本,2.0.2表示安装2.0.2版本。