You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dockerfile中安装helm_ls二进制文件出现异常问题

问题分析与解决方案

问题根源

报错/usr/local/bin/helm_ls: 1: Not: not found本质是下载的不是helm_ls二进制文件,而是HTML错误页面(通常是404页面),执行时解析到HTML里的"Not Found"文本,触发了错误。

可能的原因及修复步骤

1. ARG变量定义语法问题

你的ARG写在同一行,虽用了反斜杠,但可能导致变量未正确解析。修改ARG定义为:

ARG OS="linux"
ARG ARCH="amd64"

2. 下载URL错误:使用分支名而非Release Tag

你用的URL是https://github.com/mrjosh/helm-ls/releases/download/master/helm_ls_${OS}_${ARCH},但master是分支名,不是GitHub Release的Tag。GitHub Releases的下载链接需要对应具体的版本Tag(比如v0.0.19),分支名无法直接对应二进制包。

替换为具体版本的URL,示例:

RUN curl -L "https://github.com/mrjosh/helm-ls/releases/download/v0.0.19/helm_ls_${OS}_${ARCH}" --output /usr/local/bin/helm_ls

3. 调试验证:确认下载内容

在Dockerfile中添加调试步骤,验证变量和下载内容:

RUN echo "Download URL: https://github.com/mrjosh/helm-ls/releases/download/v0.0.19/helm_ls_${OS}_${ARCH}"
RUN curl -L "https://github.com/mrjosh/helm-ls/releases/download/v0.0.19/helm_ls_${OS}_${ARCH}" --output /usr/local/bin/helm_ls \
    && echo "Downloaded file type:" \
    && file /usr/local/bin/helm_ls

如果输出是ELF 64-bit LSB executable,说明下载的是正确的二进制;如果是HTML document,则URL仍有问题。

4. 合并RUN命令减少镜像层

将curl和chmod合并到一个RUN命令,同时避免缓存问题:

RUN curl -L "https://github.com/mrjosh/helm-ls/releases/download/v0.0.19/helm_ls_${OS}_${ARCH}" --output /usr/local/bin/helm_ls \
    && chmod +x /usr/local/bin/helm_ls

完整修复后的Dockerfile示例

ARG OS="linux"
ARG ARCH="amd64"

FROM --platform=${ARCH} ubuntu:latest
USER root

RUN apt update -y && apt upgrade -y && \
    apt install curl -y

RUN curl -L "https://github.com/mrjosh/helm-ls/releases/download/v0.0.19/helm_ls_${OS}_${ARCH}" --output /usr/local/bin/helm_ls \
    && chmod +x /usr/local/bin/helm_ls

内容的提问来源于stack exchange,提问作者Mo0rBy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 21:20:07