tengo saber que instalar gemas como go

instalar - como saber que version de ruby tengo



Eliminando paquetes instalados con go get get (3)

Es seguro eliminar el directorio de origen y el archivo del paquete compilado. Encuentre el directorio fuente bajo $GOPATH/src y el archivo del paquete bajo $GOPATH/pkg/<architecture> , por ejemplo: $GOPATH/pkg/windows_amd64 .

Ejecuté go get package para descargar un paquete antes de GOPATH que necesitaba configurar mi GOPATH contrario, ese paquete ensuciaría mi instalación raíz de Go (preferiría que mi instalación de Go fuera limpia y separar el núcleo de la personalización). ¿Cómo elimino paquetes instalados previamente?


Puede eliminar los archivos de almacenamiento y binarios ejecutables que go install (o go get ) produce para un paquete con go clean -i importpath... Normalmente residen en $GOPATH/pkg y $GOPATH/bin , respectivamente.

El código fuente luego debe eliminarse manualmente de $GOPATH/src .

go clean tiene una bandera -n para una ejecución en seco que imprime lo que se ejecutará sin ejecutarlo, por lo que puede estar seguro (ver go help clean ). También tiene una tentadora bandera -r para eliminar recursivamente las dependencias, que probablemente no quieras usar ya que verás en una ejecución en seco que eliminará muchos archivos de archivos de biblioteca estándar.

Un ejemplo completo, en el que podría basar un script si lo desea:

$ go get -u github.com/motemen/gore $ which gore /Users/ches/src/go/bin/gore $ go clean -i -n github.com/motemen/gore... cd /Users/ches/src/go/src/github.com/motemen/gore rm -f gore gore.exe gore.test gore.test.exe commands commands.exe commands_test commands_test.exe complete complete.exe complete_test complete_test.exe debug debug.exe helpers_test helpers_test.exe liner liner.exe log log.exe main main.exe node node.exe node_test node_test.exe quickfix quickfix.exe session_test session_test.exe terminal_unix terminal_unix.exe terminal_windows terminal_windows.exe utils utils.exe rm -f /Users/ches/src/go/bin/gore cd /Users/ches/src/go/src/github.com/motemen/gore/gocode rm -f gocode.test gocode.test.exe rm -f /Users/ches/src/go/pkg/darwin_amd64/github.com/motemen/gore/gocode.a $ go clean -i github.com/motemen/gore... $ which gore $ tree $GOPATH/pkg/darwin_amd64/github.com/motemen/gore /Users/ches/src/go/pkg/darwin_amd64/github.com/motemen/gore 0 directories, 0 files # If that empty directory really bugs you... $ rmdir $GOPATH/pkg/darwin_amd64/github.com/motemen/gore $ rm -rf $GOPATH/src/github.com/motemen/gore

Asegúrese de incluir ... en la ruta de importación, ya que parece que si un paquete incluye un archivo ejecutable, apáguelo, go clean -i lo eliminará y no archivará los archivos de los subpaquetes, como gore/gocode en el ejemplo.

Tenga en cuenta que esta información se basa en la herramienta go en Go versión 1.5.1.


#!/bin/bash goclean() { local pkg=$1; shift || return 1 local ost local cnt local scr # Clean removes object files from package source directories (ignore error) go clean -i $pkg &>/dev/null # Set local variables [[ "$(uname -m)" == "x86_64" ]] / && ost="$(uname)";ost="${ost,,}_amd64" / && cnt="${pkg//[^//]}" # Delete the source directory and compiled package directory(ies) if (("${#cnt}" == "2")); then rm -rf "${GOPATH%%:*}/src/${pkg%/*}" rm -rf "${GOPATH%%:*}/pkg/${ost}/${pkg%/*}" elif (("${#cnt}" > "2")); then rm -rf "${GOPATH%%:*}/src/${pkg%/*/*}" rm -rf "${GOPATH%%:*}/pkg/${ost}/${pkg%/*/*}" fi # Reload the current shell source ~/.bashrc }

Uso:

# Either launch a new terminal and copy `goclean` into the current shell process, # or create a shell script and add it to the PATH to enable command invocation with bash. goclean github.com/your-username/your-repository