HarmonyOS鸿蒙Next中ubuntu系统docker容器工程目录下执行hvigorw clean异常
HarmonyOS鸿蒙Next中ubuntu系统docker容器工程目录下执行hvigorw clean异常
docker容器配置了commandline-tools-linux-x64-5.1.1.823,hvigorw版本为5.19.5,
在ubuntu20.04镜像跑起来的docker容器在执行hvigorw clean时,出现报错:Installing pnpm@8.13.1…
/usr/local/sahoc/tools/tool/node/bin/npm: 1: …/lib/node_modules/npm/bin/npm-cli.js: not found
楼主执行一下下面的命令看楼主的版本是不是低于18
C:\Users\admin>nvm ls
20.15.0
* 16.17.0 (Currently using 64-bit executable)
有的话更新一下node版本
-
安装 nvm-windows : 👉 下载地址:https://github.com/coreybutler/nvm-windows/releases 选择
.exe
安装器安装。 -
安装最新 Node.js 版本:
nvm install latest
更多关于HarmonyOS鸿蒙Next中ubuntu系统docker容器工程目录下执行hvigorw clean异常的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
楼主的报错提示npm-cli.js未找到,说明Node.js或npm安装不完整或路径配置错误。hvigor依赖pnpm管理工具,若安装失败会触发路径问题。
楼主先 检查Node.js版本及npm路径,若输出异常,重新安装Node.js
node -v
npm -v
apt update && apt install -y nodejs npm
在工程根目录创建.npmrc文件
echo 'registry=https://repo.huaweicloud.com/repository/npm/
@ohos:registry=https://repo.harmonyos.com/npm/' > ~/.npmrc
# 全局配置镜像源(这个可选)
npm config set registry https://repo.huaweicloud.com/repository/npm/
npm config set "@ohos:registry" https://repo.harmonyos.com/npm/
全局安装pnpm并验证,然后清理缓存
npm install -g pnpm
pnpm -v
pnpm store prune
删除旧依赖及缓存并重新安装依赖, 执行清理命令
rm -rf node_modules hvigor .hvigor
ohpm install --all
hvigorw clean --no-daemon
//清理缓存并重建依赖
rm -rf node_modules hvigor
npm cache clean --force
npm install -g pnpm
pnpm install
hvigorw clean
试试
检查当前 Node.js 和 npm、pnpm 版本(若未安装则手动安装下)
node -v
npm -v
pnpm -v
我这个路径 /usr/local/sahoc/tools
就是官方 commandline-tools
工具,里面应该是有 node 和 npm,执行命令时会安装 pnpm,这个时候报错了,
在HarmonyOS NEXT环境下,Ubuntu系统Docker容器中执行hvigorw clean
异常可能是由于环境配置不匹配导致。检查以下方面:
- 确保容器内已正确安装Node.js(v14+)和hvigor工具链;
- 确认工程目录权限可读写;
- 核对容器内HarmonyOS SDK路径配置是否正确;
- 检查Docker容器资源限制(内存/CPU)是否充足。
异常日志中若出现ENOENT
错误,可能是文件路径缺失或gradle缓存损坏。
这个错误表明在Docker容器中执行hvigorw clean时,npm的路径配置存在问题。具体来看是node/npm环境配置不完整导致的。
主要问题点:
- 错误显示找不到npm-cli.js文件
- 可能是node_modules目录不完整或npm安装有问题
建议检查:
- 确认容器内node和npm是否正确安装且版本兼容
- 检查/usr/local/sahoc/tools/tool/node/lib/node_modules/目录下npm是否完整
- 尝试重新安装node环境
可以尝试在容器内执行:
npm install -g npm@latest
然后再执行hvigorw clean命令。如果问题依旧,可能需要检查Docker镜像中的node环境配置是否正确。