在Dev Container中运行openapi-generator-cli提示命令未找到的问题
问题描述
尝试在Dev Container中运行openapi-generator-cli,使用以下配置:
.devcontainer/devcontainer.json
{ "name": "OpenAPI DevContainer", "dockerFile": "Dockerfile", "mounts": [ "source=${localWorkspaceFolder}/openapi_specs,target=/workspaces/openapi_specs,type=bind,consistency=cached", "source=${localWorkspaceFolder}/my_client_library,target=/workspace/my_client_library,type=bind,consistency=cached" ] }
.devcontainer/Dockerfile
# Use the official openapi-generator-cli Docker image as the base image FROM openapitools/openapi-generator-cli:latest # Set the PATH environment variable to include openapi-generator-cli ENV PATH="/usr/local/bin:${PATH}"
容器构建完成后,执行openapi-generator-cli --version返回“command not found”,在/usr/bin和/usr/local/bin中均未找到该命令。后续将/opt/openapi-generator/modules/openapi-generator-cli添加到PATH后仍未解决问题。
解决方案
1. 修正命令名称
当前openapitools/openapi-generator-cli:latest镜像中,实际提供的可执行命令是openapi-generator,而非openapi-generator-cli。执行以下命令验证:
openapi-generator --version
2. 移除多余的PATH配置
官方镜像已经预先配置好正确的环境变量,你的Dockerfile中ENV PATH="/usr/local/bin:${PATH}"属于冗余配置,可以直接删除,避免潜在的环境变量冲突。
3. 统一挂载路径(可选)
你的devcontainer.json中挂载的目标路径存在不一致(/workspaces/openapi_specs和/workspace/my_client_library),建议统一为/workspaces前缀,避免后续文件操作时出现路径混淆:
"mounts": [ "source=${localWorkspaceFolder}/openapi_specs,target=/workspaces/openapi_specs,type=bind,consistency=cached", "source=${localWorkspaceFolder}/my_client_library,target=/workspaces/my_client_library,type=bind,consistency=cached" ]
内容的提问来源于stack exchange,提问作者groromain92
相关产品推荐
相关产品推荐

