描述
我整理了需要下载的所有软件包,方便大家批量下载。如下表:
内容 |
要求 |
链接 |
VSCode |
|
https://vscode.cdn.azure.cn/stable/d2e414d9e4239a252d1ab117bd7067f125afd80a/VSCodeUserSetup-x64-1.50.1.exe |
HUAWEI DevEco Device Tool |
|
https://device.harmonyos.com/cn/ide#download |
NodeJs |
|
https://nodejs.org/dist/v12.19.0/node-v12.19.0-x64.msi |
Python3.7+ |
版本>=3.7 |
Windows上不需要单独安装 |
终端工具 |
能连接串口就行 |
个人比较喜欢MobaXterm,https://mobaxterm.mobatek.net/ |
Ch340串口驱动 |
|
http://www.wch.cn/search?q=ch340g&t=downloads |
1.开发环境搭建&使用
原本打算详细记录一下,实际操作中发现根本不需要。官方的文档写的比较详细。
这里只记录我遇到的问题及处理方法。估计大家也会遇到,遇到问题的时候回来查看一下就好
问题1:使用IDE 烧写时报错
IDE控制台报错如下:
-
hpm : 无法加载文件 C:Users用户名AppDataRoamingnpmhpm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中
-
的 about_Execution_Policies。
-
所在位置 行:1 字符: 1
-
+ hpm run 'upload'
-
+ ~~~
-
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
-
+ FullyQualifiedErrorId : UnauthorizedAccess
-
The terminal process "C:WINDOWSSystem32WindowsPowerShellv1.0powershell.exe -Command hpm run 'upload'" terminated with exit code: 1.
复制代码
-
管理员运行PowerShell
-
输入set-ExecutionPolicy RemoteSigned
问题2:IDE无法刷新出串口号,不断要求安装串口组件
-
IDE不断弹出需要安装serialport的窗口
-
Burn设置中无法选择串口端口号
终定位发现是node-gyp有一个库不对。 能直接确认这个问题的现象是,当你卸载serialport重新安装时报错:
-
PS C:WINDOWSsystem32> npm uninstall -g serialport
-
...
-
PS C:WINDOWSsystem32> npm install -g serialport
-
> @serialport/bindings@9.0.2 install C:UsersdxbAppDataRoamingnpmnode_modulesserialportnode_modules@serialportbindings
-
> prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild
-
-
prebuild-install WARN install No prebuilt binaries found (target=12.19.0 runtime=node arch=x64 libc= platform=win32)
-
-
C:Users用户名AppDataRoamingnpmnode_modulesserialportnode_modules@serialportbindings>if not defined npm_config_node_gyp (node "C:Program Filesnodejsnode_modulesnpmnode_modulesnpm-lifecyclenode-gyp-bin\....node_modulesnode-gypbinnode-gyp.js" rebuild ) else (node "C:Program Filesnodejsnode_modulesnpmnode_modulesnode-gypbinnode-gyp.js" rebuild )
-
在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。
-
serialport.cpp
-
serialport_win.cpp
-
win_delay_load_hook.cc
-
C:\Users\用户名\AppData\Local\node-gyp\Cache\12.19.0\x64\node.lib : fatal error LNK1107: 文件无效或损坏: 无法在 0x541B04 处读
-
取 [C:UsersdxbAppDataRoamingnpmnode_modulesserialportnode_modules@serialportbindingsbuildbindings.vcxproj]
复制代码
上面报错中提到,如下文件被损坏了: C:Users用户名AppDataLocalnode-gypCache12.19.0x64node.lib
在node官网下载正确的lib库,替换到你的环境中。下载地址https://nodejs.org/dist/v12.19.0/win-x64/
注意12.19.0是nodejs的版本,你需要找自己对应的版本
替换后重新安装serialport就可以了。
问题3:烧写时报错MODULE_NOT_FOUND
启动烧写后控制台报错
-
> Executing task: hpm run 'upload' <
-
-
internal/modules/cjs/loader.js:834
-
throw err;
-
^
-
-
Error: Cannot find module 'D:HarmonyOSWorkspace%UPLOAD_SCRIPT%'
-
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:831:15)
-
at Function.Module._load (internal/modules/cjs/loader.js:687:27)
-
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
-
at internal/main/run_main_module.js:17:47 {
-
code: 'MODULE_NOT_FOUND',
-
requireStack: []
-
}
-
The terminal process "C:WINDOWSSystem32WindowsPowerShellv1.0powershell.exe -Command hpm run 'upload'" terminated with exit code: 1.
复制代码
用文本编辑器打开文件C:Users用户名.hpmhpmrc
可能显示如下,注意第二行,这里多了一个空行
-
registry = https://hpm.harmonyos.com
-
-
globalRepo = C:Usersdxb.hpmglobal
-
strictSsl = true
-
shellPath = C:WINDOWSsystem32cmd.exe
复制代码
删除掉其中多余的空行、保存、然后重新启动IDE。
打开APP阅读更多精彩内容