/bin/sh: 1: gvm: 未找到
/bin/sh: 1: gvm: not found
问题:
我正在尝试创建一个 Dockerfile,将所有组件安装到 运行 Go,安装 GVM (Go Version Management),并安装特定的 Go 版本。
错误:
当我尝试构建容器时:
docker build -t ##### .
我收到这个错误:
/bin/sh: 1: gvm: not found
The command '/bin/sh -c gvm install go1.4 -B' returned a non-zero code: 127
安装在这里:
/root/.gvm/scripts/env/gvm
/root/.gvm/scripts/gvm
/root/.gvm/bin/gvm
我尝试了什么:
明明可以安装GVM却无法使用。为什么?
我想也许我需要刷新 .bashrc
或 .bash_profile
... 但那没有用,因为它们不存在。
Docker 文件:
FROM #####/#####
#Installing Golang dependencies
RUN apt-get -y install curl git mercurial make binutils bison gcc build-essential
#Installing Golang
RUN ["/bin/bash", "-c", "bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)"]
#gvm does not exist here... why?
RUN gvm install go1.4 -B
RUN gvm use go1.4
问题:
为什么GVM好像没有安装?我该如何消除错误?
您的 shell 是 /bin/sh
,但 gvm
将其初始化放在 ~/.bashrc
中,并期望 /bin/bash
.
您需要将 gvm
初始化脚本提供给 运行 来自非交互式 bash 命令的命令 shell:
RUN ["/bin/bash", "-c", ". /root/.gvm/scripts/gvm && gvm install go1.4 -B"]
RUN ["/bin/bash", "-c", ". /root/.gvm/scripts/gvm && gvm use go1.4"]
或者更好的方法是将您要执行的命令放在一个 bash 脚本中,然后将其添加到图像中。
#!/bin/bash
set -e
source /root/.gvm/scripts/gvm
gvm install go1.4
gvm use go1.4
问题:
我正在尝试创建一个 Dockerfile,将所有组件安装到 运行 Go,安装 GVM (Go Version Management),并安装特定的 Go 版本。
错误:
当我尝试构建容器时:
docker build -t ##### .
我收到这个错误:
/bin/sh: 1: gvm: not found
The command '/bin/sh -c gvm install go1.4 -B' returned a non-zero code: 127
安装在这里:
/root/.gvm/scripts/env/gvm
/root/.gvm/scripts/gvm
/root/.gvm/bin/gvm
我尝试了什么:
明明可以安装GVM却无法使用。为什么?
我想也许我需要刷新 .bashrc
或 .bash_profile
... 但那没有用,因为它们不存在。
Docker 文件:
FROM #####/#####
#Installing Golang dependencies
RUN apt-get -y install curl git mercurial make binutils bison gcc build-essential
#Installing Golang
RUN ["/bin/bash", "-c", "bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)"]
#gvm does not exist here... why?
RUN gvm install go1.4 -B
RUN gvm use go1.4
问题:
为什么GVM好像没有安装?我该如何消除错误?
您的 shell 是 /bin/sh
,但 gvm
将其初始化放在 ~/.bashrc
中,并期望 /bin/bash
.
您需要将 gvm
初始化脚本提供给 运行 来自非交互式 bash 命令的命令 shell:
RUN ["/bin/bash", "-c", ". /root/.gvm/scripts/gvm && gvm install go1.4 -B"]
RUN ["/bin/bash", "-c", ". /root/.gvm/scripts/gvm && gvm use go1.4"]
或者更好的方法是将您要执行的命令放在一个 bash 脚本中,然后将其添加到图像中。
#!/bin/bash
set -e
source /root/.gvm/scripts/gvm
gvm install go1.4
gvm use go1.4