# 操作异常错误码

#### 00308001 删除文件失败

**错误信息**

Failed to delete the file: XXX.

**错误描述**

删除文件失败。

**可能原因**

1.  文件不存在。
2.  用户没有权限删除文件。
3.  文件被其他进程占用。

**处理步骤**

1.  检查文件是否存在。
2.  检查当前用户是否有删除此文件的权限。
3.  检查文件是否被其他进程占用，等待文件被释放后再删除。
4.  可尝试手动删除此文件。

#### 00308002 初始化Hvigor环境时执行命令失败

**错误信息**

XXX execute failed.

**错误描述**

初始化Hvigor环境时执行命令失败。

**可能原因**

不同场景，根据控制台打印的构建日志进行处理。

*   **场景一：**构建日志中包含“ERR\_PNPM\_FETCH\_404”，原因是要安装的包在仓库里不存在，可能是包名拼写错误，或者包没有上传到npm配置的远程仓库中。
*   **场景二：**构建日志中包含“ERR\_PNPM\_NO\_MATCHING\_VERSION”，原因是指定版本的包在仓库里不存在，可能是对应版本的包没有上传到npm配置的远程仓库中。
*   **场景三：**构建日志中包含“ERR\_PNPM\_META\_FETCH\_FAIL”，原因是找不到包的元数据，可能是网络问题，或npm仓库地址配置错误。
*   **场景四：**构建日志中包含“ERR\_PNPM\_NO\_OFFLINE\_META”，原因是离线模式下无法从本地缓存中找到某个依赖包的元数据，可能是包的相关依赖没有打包完整。
*   **场景五：**构建日志中包含“CERT\_HAS\_EXPIRED”，原因是使用的npm远程仓库服务器上的证书已过期。
*   **场景六：**构建日志中包含“ETIMEDOUT”，原因是链接npm仓库超时，可能是网络问题，或者npm仓库地址配置错误。

**处理步骤**

*   **场景一：**
    1.  请检查失败的包在npm仓库中是否存在，或者联系包的提供方确认仓库地址。
    2.  检查要安装的包名是否拼写错误。
*   **场景二：**
    1.  在控制台执行以下命令，查询要安装的xxx包在npm仓库中的版本。
        
        ```
        pnpm view ${xxx} versions
        ```
        
    2.  检查要安装的包名是否拼写错误。
    3.  如果找不到的包是"@ohos/hvigor-ohos-arkui-x-plugin"，按以下步骤找到配套的插件版本号。
        1.  创建ArkUI-X模板工程。
        2.  打开hvigor/hvigor-config.json5，找到dependencies中@ohos/hvigor-ohos-arkui-x-plugin对应的版本号。
        3.  将上一步取到的版本号替换至报错工程的@ohos/hvigor-ohos-arkui-x-plugin的版本号。

*   **场景三：**
    1.  请确保仓库地址可以访问，查看npm配置的仓库地址是否正确、是否有防火墙或代理限制等。
    2.  联系仓库提供方确认仓库地址是否可用，或更换新的npm仓库地址。

*   **场景四：**
    1.  请检查离线包在迁移前是否已下载完整。
    2.  参考离线环境配置指导。

*   **场景五：**
    
    请联系仓库提供方确保仓库服务器的证书有效，或更换新的npm仓库地址。
    

*   **场景六：**
    1.  请确保仓库地址可以访问，查看npm配置的仓库地址是否正确、是否有防火墙或代理限制等。
    2.  联系仓库提供方确认仓库地址是否可用，或更换新的npm仓库地址。

#### 00308003 找不到Hvigor的入口文件

**错误信息**

ENOENT: no such file XXX.

**错误描述**

找不到Hvigor的入口文件。

**可能原因**

一些误操作破坏了Hvigor的完整性。

**处理步骤**

删除“用户目录\\.hvigor\\project\_caches\\xxxxxxxx\\workspace”并重试。

#### 00308004 删除build目录失败

**错误信息**

Unable to delete XXX.

**错误描述**

删除build目录失败。

**可能原因**

文件可能被占用。

**处理步骤**

检查相关文件是否被占用，等待文件被释放后再删除。

#### 00308005 写文件失败

**错误信息**

Write file failed: XXX, at file: YYY.

**错误描述**

由于XXX原因导致写文件失败。

**可能原因**

*   文件不存在。
*   用户没有权限写入该文件。
*   文件被占用。

**处理步骤**

*   确保文件存在。
*   确保有足够的权限进行写入操作。
*   检查相关文件是否被占用，等待文件被释放后再写入。

#### 00308006 加密或解密失败

**错误信息**

加密解密相关报错，具体报错视情况而定。

**错误描述**

加密解密相关报错。

**可能原因**

未知。

**处理步骤**

通过在线提单提交问题，华为支持人员会及时处理。

#### 00308007 操作文件失败

**错误信息**

Failed to operate file as XXX.

**错误描述**

操作文件失败。

**可能原因**

当前用户没有权限操作该文件，或者文件路径错误。

**处理步骤**

1.  确保有足够的权限操作文件。
2.  确保文件路径正确。

#### 00308008 写文件失败

**错误信息**

Failed to write File：XXX.

**错误描述**

写文件失败。

**可能原因**

可能是由于文件权限、路径错误或磁盘空间不足等原因导致的。

**处理步骤**

1.  检查文件权限，确保具有足够的权限进行写入操作。
2.  验证文件路径是否正确，确保路径存在且有效。
3.  确认磁盘空间充足，清理不必要的文件以释放空间。

#### 00308009 找不到文件导致写文件失败

**错误信息**

Failed to write File：please check File Path：XXX.

**错误描述**

找不到文件导致写文件失败。

**可能原因**

文件路径配置错误，或者文件不存在。

**处理步骤**

确保路径正确，且文件存在。

#### 00308010 store prune命令执行失败

**错误信息**

Error: pnpm store prune execute failed.

**错误描述**

pnpm store prune命令执行失败。

**可能原因**

执行pnpm store prune时可能没有足够的权限来修改或删除文件。

**处理步骤**

确保有足够的权限来操作用户目录下pnpm的缓存目录。

#### 00308013 删除目录失败

**错误信息**

Failed to delete the directory: XXX.

**错误描述**

删除目录失败。

**可能原因**

1.  当前用户没有权限删除该目录。
2.  目录下的文件被其他进程占用。

**处理步骤**

1.  确保有足够的权限来删除该目录。
2.  检查文件是否被占用，等待文件被释放后再删除。

#### 00308014 复制文件失败

**错误信息**

Failed to copy the file: XXX.

**错误描述**

复制文件失败。

**可能原因**

1.  被复制的文件不存在。
2.  当前用户没有权限读取该文件。

**处理步骤**

1.  确保文件存在，并且有足够的权限来读取该文件。
2.  如果无法解决，通过在线提单提交问题，华为支持人员会及时处理。

#### 00308015 复制文件夹失败

**错误信息**

Failed to copy the directory: XXX.

**错误描述**

复制文件夹失败。

**可能原因**

1.  被复制的文件夹不存在。
2.  当前用户没有权限读取该文件夹。

**处理步骤**

1.  确保文件夹存在，并且有足够的权限来读取该文件夹。
2.  如果无法解决，通过在线提单提交问题，华为支持人员会及时处理。

#### 00308017 缓存材料错误

**错误信息**

Cache material error. Please ensure that no cache materials have been added or modified in the meta/ac, ce, and fd directories. At file: XXX.

**错误描述**

缓存材料错误，请确保meta/ac、ce、fd目录下的缓存材料未进行增加或修改。

**可能原因**

用户误操作缓存材料，对其进行增加或修改。

**处理步骤**

1.  排查Users/_用户名_目录下的.hvigor/meta下的缓存材料数量是否正确，ac、ce、fd目录下分别有1、1、3个文件或文件夹，请勿对文件夹下的内容进行增加或修改。
2.  删除.hvigor下的meta目录，重新编译。

#### 00308018 未知错误

**错误信息**

Unknown Error.

**错误描述**

未知错误。

**可能原因**

1.  报错信息包含"Remote sign har failed"，原因是hvigor-config.json5中配置ohos.sign.har为true后，流水线构建har时指定的JDK版本低于21。
2.  其他未知原因。

**处理步骤**

1.  将流水线的JDK版本升级到21。
2.  请检查工程目录下.hvigor > outputs > build-logs目录下的详细报错日志进行分析。如果无法解决，通过在线提单提交问题，华为支持人员会及时处理。

#### 00308019 npm仓库中找不到指定的包

**错误信息**

xxx install execute failed. More details:

ERR\_PNPM\_FETCH\_404  GET  - 404

This error happened while installing a direct dependency of xxx.

yyy is not in the npm registry, or you have no permission to fetch it.

No authorization header was set for the request.

**错误描述**

yyy包在npm配置的远程仓库中找不到。

**可能原因**

要安装的包在仓库里不存在，可能是包名拼写错误，或者包没有上传到npm配置的远程仓库中。

**处理步骤**

1.  请检查失败的yyy包在npm仓库中是否存在，或者联系包的提供方确认仓库地址。
2.  检查要安装的yyy包名是否拼写错误。

#### 00308020 npm仓库中找不到指定版本的包

**错误信息**

xxx install execute failed. More details:

ERR\_PNPM\_NO\_MATCHING\_VERSION  No matching version found for yyy@a.b.c while fetching it from 

This error happened while installing a direct dependency of xxx.

The latest release of yyy is "x.y.z". Published at xxx.

If you need the full list of all published versions run "$ pnpm view yyy versions".

**错误描述**

指定版本的yyy包在npm配置的远程仓库中找不到。

**可能原因**

指定版本的包在仓库里不存在，可能是对应版本的包没有上传到npm配置的远程仓库中。

**处理步骤**

1.  在控制台执行以下命令，查询yyy包在npm仓库中的版本。
    
    ```
    pnpm view ${yyy} versions
    ```
    
2.  检查要安装的yyy包名是否拼写错误。
3.  如果找不到的包是"@ohos/hvigor-ohos-arkui-x-plugin"，按以下步骤找到配套的插件版本号。
    1.  创建ArkUI-X模板工程。
    2.  打开hvigor/hvigor-config.json5，找到dependencies中@ohos/hvigor-ohos-arkui-x-plugin对应的版本号。
    3.  将上一步取到的版本号替换至报错工程的@ohos/hvigor-ohos-arkui-x-plugin的版本号。

#### 00308021 npm仓库中无法获取包的元数据

**错误信息**

xxx install execute failed. More details:

WARN  GET  error (ETIMEDOUT). Will retry in 10 seconds. 2 retries left.

WARN  GET  error (ETIMEDOUT). Will retry in 1 minute. 1 retries left.

ERR\_PNPM\_META\_FETCH\_FAIL  GET  request to  failed, reason: connect ETIMEDOUT xxx.xxx.xxx.xxx:443.

This error happened while installing a direct dependency of xxx.

**错误描述**

链接超时，在npm配置的远程仓库中找不到yyy包的元数据。

**可能原因**

可能是网络问题，或npm仓库地址配置错误。

**处理步骤**

1.  请确保仓库地址可以访问，查看npm配置的仓库地址是否正确、是否有防火墙或代理限制等。
2.  联系仓库提供方确认仓库地址是否可用，或更换新的npm仓库地址。

#### 00308022 离线模式下无法安装包

**错误信息**

xxx install execute failed. More details:

ERR\_PNPM\_NO\_OFFLINE\_META Failed to resolve yyy@a.b.c in package mirror xxx.

This error happened while installing a direct dependency of xxx.

**错误描述**

pnpm在离线模式下，无法从本地缓存中找到某个依赖包的元数据。

**可能原因**

离线模式操作异常，可能是包的相关依赖没有打包完整，导致离线环境下无法找到。

**处理步骤**

1.  请检查离线包在迁移前是否已下载完整。
2.  参考离线环境配置指导。

#### 00308023 npm仓库服务器证书过期

**错误信息**

xxx install execute failed. More details:

npm ERR! code CERT\_HAS\_EXPIRED

npm ERR! errno CERT\_HAS\_EXPIRED

npm ERR! request to  failed, reason: certificate has expired

npm ERR! A complete log of this run can be found in: xxx

**错误描述**

npm仓库服务器证书过期。

**可能原因**

使用的npm远程仓库服务器上的证书已过期。

**处理步骤**

请联系仓库提供方确保仓库服务器的证书有效，或更换新的npm仓库地址。

#### 00308024 链接npm仓库超时

**错误信息**

xxx install execute failed. More details:

npm ERR! code ETIMEDOUT

npm ERR! errno ETIMEDOUT

npm ERR! network request to  failed, reason: connect ETIMEDOUT xxx.xxx.xxx.xxx:443

This error happened while installing a direct dependency of xxx.

**错误描述**

链接npm仓库超时。

**可能原因**

可能是网络问题，或者npm仓库地址配置错误。

**处理步骤**

1.  请确保仓库地址可以访问，查看npm配置的仓库地址是否正确、是否有防火墙或代理限制等。
2.  联系仓库提供方确认仓库地址是否可用，或更换新的npm仓库地址。