La respuesta directa a tu problema está al final. Pero creo que tendrá más sentido si sigues leyendo desde aquí.
Antes de intentar agregar a PATH
,Recomiendo probar un programa primero. En su caso, haría lo siguiente:
wget https://releases.hashicorp.com/terraform/0.9.8/terraform_0.9.8_linux_amd64.zip
unzip terraform_0.9.8_linux_amd64.zip
./terraform
Observe la última línea ./terraform
.El archivo zip contiene un solo archivo, terraform
,que ahora debería estar en el directorio actual, para poder ejecutarlo con ./terraform
.Si es ejecutable.Si no es ejecutable, confírmelo:
ls -l terraform
Y hazlo ejecutable si es necesario:
chmod +x terraform
Ahora vamos a agregarlo a PATH
.Pero primero, decidamos dónde colocar este ejecutable./usr/local/bin
parece una ubicación razonable. Así que vamos a mover el terraform
ejecutable en ese directorio.
Normalmente /usr/local/bin
ya está en PATH
, por lo que es posible que no necesite cambiar nada. Ahora puede probar su verificación y es muy probable que ya funcione:
terraform -version
Si no es así, entonces /usr/local/bin
no está en el PATH
.Para agregarlo, agregue esta línea en ~/.profile
:
export PATH=$PATH:/usr/local/bin
Dos cosas parecían fundamentalmente incorrectas con su enfoque:
-
Agregando
/usr/local/terraform
aPATH
. Esto es sospechoso, porque las entradas enPATH
deben ser directorios, y en su publicación nada indica que creó un directorio en/usr/local/terraform
.- Tú
cd
en/usr/local
y luegounzip
el archivo zip de terraform. El zip vinculado contiene un solo archivo llamadoterraform
, entonces/usr/local/terraform
en su ejemplo debería ser un archivo. - Si es un archivo, podría hacerlo ejecutable como
terraform
agregando para agregar aPATH
su directorio base. Pero agregando/usr/local
aPATH
no sería una buena idea. Es convencional poner binarios en/usr/local/bin
, no directamente en/usr/local
- Tú
-
No mencionaste cómo recargaste
~/.profile
. Después de editar este archivo, los nuevos comandos que agregó no se ejecutan automáticamente en su shell actual. Se ejecutarán cuando abra un nuevo shell. O puede ejecutar manualmente los comandos agregados en el shell actual.