侧边栏壁纸
  • 累计撰写 35 篇文章
  • 累计创建 6 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

Docker 环境配置HBuilderX CLI

Administrator
2025-10-30 / 0 评论 / 0 点赞 / 1 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

一、Docker 环境与 HBuilderX 准备

首先,我们需要一个包含必要依赖和HBuilderX的Docker环境。

  1. 获取 HBuilderX:从DCloud官网下载Linux版本的HBuilderX,得到压缩包(如 HBuilderX.tar.gz)。您可以将它放置在宿主机的一个目录下,例如 /opt/1panel/docker/compose/HBuilderX

  2. 创建 Dockerfile:在宿主机上创建一个 Dockerfile,用于构建包含所有运行依赖的镜像。

    FROM ubuntu:20.04
    
    # 安装依赖
    RUN apt update && apt install -y \
        xvfb libxcb1 libx11-6 libxext6 libxrender1 \
        libgl1-mesa-glx libfontconfig1 libdbus-1-3 \
        libharfbuzz0b libglib2.0-0 curl ca-certificates
    
    # 设置 DNS
    RUN echo "nameserver 8.8.8.8" > /etc/resolv.conf && \
        echo "nameserver 114.114.114.114" >> /etc/resolv.conf
    
    WORKDIR /app
    

    构建镜像:docker build -t ubuntu-p:latest .

二、项目编译与发布实战

环境准备好之后,就可以在容器内执行编译命令了。

  1. 启动容器并进入:使用以下命令启动一个交互式容器,并将您的项目目录挂载进去。

    docker run -it --rm --network=host \\n  -v /opt/1panel/docker/compose/Pack:/app \\n  -v /tmp/.X11-unix:/tmp/.X11-unix \\n  -e DISPLAY=:99 \\n  ubuntu-p:latest bash
    
    
    
  2. 编译项目:在容器内部,使用 xvfb-run 来模拟显示环境,并调用HBuilderX CLI进行编译。

    root@top:/app/HBuilderX# history
        1  pwd
        2  ll
        3  cd HBuilderX/
        4  xvfb-run -a ./HBuilderX &
        5  idd HBuilderX
        6  ./cli open
        7  ./cli user info
        8  ./cli user login --username  --password ''
        9  ./cli project open --path /app/aiChat-app
       10  ./cli publish --platform h5 --project aiChat-app
       11  cd plugins/
       12  cd compile-dart-sass
       13  ../npm/npm install
       14  cd ../../
       15  ps
       16  ll
       17  ./cli publish --platform h5 --project aiChat-app
       18  history
    
    

    编译成功后,产物通常会生成在项目下的 unpackage/dist/build/ 目录中(例如H5项目在 web 子目录下)。

root@top:/app/HBuilderX# ./cli publish --platform h5 --project aiChat-app
02:43:55.079 Project aiChat-app [__UNI__XXXXX] starts publishing and ends at Web...
02:43:56.297 Compiler version: 4.76(vue3)
02:43:56.299 Compiling...
02:43:58.099 ​Browserslist: caniuse-lite is outdated. Please run:
02:43:58.101   npx update-browserslist-db@latest
02:43:58.103   Why you should do it regularly: https://github.com/browserslist/update-db#readme​
02:44:22.894 欢迎将web站点部署到uniCloud前端网页托管平台,高速、免费、安全、省心,详见:https://uniapp.dcloud.io/uniCloud/hosting
02:44:22.896 Project aiChat-app compiled successfully.
02:44:23.268 Project aiChat-app export Web end,the path is: /app/aiChat-app/unpackage/dist/build/web
02:44:23.271 Please deploy to the web server, do not use the resource manager to open directly, unless the relative path configuration is carried out, please refer to:https://ask.dcloud.net.cn/article/37432。
02:44:23.273 welcome to use <a href='https://uniad.dcloud.net.cn'>uniAD</a> for more revenue,<a href='https://uniad.dcloud.net.cn/login'>Entrance</a> | <a href='https://uniapp.dcloud.net.cn/uni-ad/'>Document</a>

root@top:/app/HBuilderX# 2025-10-30 02:44:25.277 [WARNING:] The rpc request id: "100033"  for method: "break"  occur timeout!
2025-10-30 02:44:35.278 [WARNING:] The rpc request id: "100034"  for method: "break"  occur timeout!
^C

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区