# 编译HAR包报错无权限创建软链接

#### 问题现象

在项目根目录build-profile.json5文件中设置"useNormalizedOHMUrl": false，打包项目中指定模块为HAR包，报错无创建软链接权限（Mac环境使用正常，Windows环境报错）。

```
hvigor ERROR: Failed :aiagent:default@ProcessHarArtifacts... 
hvigor ERROR: EPERM: operation not permitted, symlink 'D:\AiAgent0416v2\AiAgent\oh_modules.ohpm@xxx+mrouter@1.0.0-alpha.24\oh_modules@xxx\mrouter' -> 'D:\AiAgent0416v2\AiAgent\aiagent\build\default\cache\default\default@PackageHar\xxx\xxxhar\oh_modules@xxx\mrouter'
hvigor ERROR: BUILD FAILED in 31 s 700 ms
```

#### 背景知识

HAR（Harmony Archive）是静态共享包，可以包含代码、C++库、资源和配置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。HAR不同于HAP，不能独立安装运行在设备上，只能作为应用模块的依赖项被引用。HAR模块的编译态包结构。

#### 问题定位

排查当前工程HAR模块结构是否正确。

注：正常HAR包在工程目录中生成库模块及相关文件，如下图：

#### 分析结论

因Windows和Mac系统本身对路径解析有区别，导致Mac环境和Windows环境下的ohpm目录依赖的HAR包软链接存在差异，打包HAR模块中存在其他的HAR模块，模块下有模块hvigor不支持这种嵌套。

#### 修改建议

HAR模块下不能含有其他HAR模块，将HAR模块下的其他HAR模块移动到与其同一层目录，可参考链接：开发静态共享包。