Simple Goバージョンマネージャー、グルテンフリー。

既存のバージョンマネージャーのビルドは、ソースからのGO、依存関係が多すぎ、パスを汚染し、特定のシェル環境を使用する必要があります。 g 、可能な限り控えめでポータブルになることを目指しています。
g 、私が過去に貢献したTJ/Nに触発されており、そのコードの一部を借りています。
$GOPATHと$GOROOTがエクスポートされている限り、どんなシェルを使用しても作品...go 、 gに固有のものではありません。source必要はありません。curlとwgetファーストクラスのサポート。curlまたはwgetいずれか、それぞれcurl -Vまたはwget -Vで確認します。奇妙な結果を防ぐためだけに、以前のGOインストールを完全に削除するために、厳密に必要ではありませんが、強くお勧めします。
重要:続行する前に、インストールスクリプトを読むことをお勧めします。ランダムなコマンドを実行するようにあなたに言っている人を決して信用しないでください。
とはいえ、単一のコマンドでgをインストールできます。
curl -sSL https://git.io/g-install | sh -s代わりにwget使用する場合:
wget -qO- https://git.io/g-install | sh -s gスクリプトをダウンロードし、 $GOPATH/bin/内に置き、 chmodで実行権を与え、デフォルトのシェルの初期化ファイルを構成し、 GOPATH & GOROOT環境変数を設定し、 $GOPATH/bin PATHに追加します。
その後、Goの最新バージョンをインストールするように求められます。この手順をスキップして、後でgを使用して希望バージョンをインストールできます。
注: gまたはgo使用するために、これらの新しいenv varsを読むには、現在のシェルセッションを再起動する必要があります。
現在、インストールスクリプトは次のシェルをサポートしています。
それは、他のシェルでgを使用できないという意味ではありません。手動のインストールを続行してください。
インストールスクリプトは、設定用にデフォルトシェルを選択します。実行することで、デフォルトのシェルが何であるかを見るかもしれません。
echo $SHELLDIFFシェルを構成する場合は、議論として渡すことができます。
curl -sSL https://git.io/g-install | sh -s -- fishいくつかのシェルを構成することもできますが、通常は必要ありません。
curl -sSL https://git.io/g-install | sh -s -- fish bash zsh
-yオプションを使用して、プロンプトをスキップし、すべての「はい」と想定してください。
curl -sSL https://git.io/g-install | sh -s -- -yデフォルトでは、これらのGO環境変数が使用されます。
GOROOT: $HOME/.go
GOPATH: $HOME/go
$GOPATH/bin PATHに追加され、 gがコピーされる場所があります。
インストールスクリプトを実行する前に、これらの変数を設定する場合があります。たとえば、bashとzsh:
export GOROOT= ~ /.local/share/golang
export GOPATH= ~ /MyProjects/go-projects
curl -sSL https://git.io/g-install | sh -s魚:
set -gx GOROOT ~ /.local/share/golang
set -gx GOPATH ~ /MyProjects/go-projects
curl -sSL https://git.io/g-install | sh -s$GOPATH & $GOROOT環境変数をエクスポートし、 $GOPATH/bin PATHに追加してください。./bin/gスクリプトのコピーを入手して、 PATHで利用できる場所をどこにでも置いてください$GOPATH/bin/chmod +x $GOPATH/bin/gでスクリプト実行権を与えます。g最新バージョンのgを取得するために実行できるself-upgradeコマンドが含まれています。このコマンドは、単にインストールスクリプトをもう一度実行します。
Usage: g [COMMAND] [options] [args]
Commands:
g Open interactive UI with downloaded versions
g install latest Download and set the latest go release
g install <version> Download and set go <version>
g download <version> Download go <version>
g set <version> Switch to go <version>
g run <version> Run a given version of go
g which <version> Output bin path for <version>
g remove <version ...> Remove the given version(s)
g prune Remove all versions except the current version
g list Output downloaded go versions
g list-all Output all available, remote go versions
g self-upgrade Upgrades g to the latest version
g help Display help information, same as g --help
Options:
-h, --help Display help information and exit
-v, --version Output current version of g and exit
-q, --quiet Suppress almost all output
-c, --no-color Force disabled color output
-y, --non-interactive Prevent prompts
-o, --os Override operating system
-a, --arch Override system architecture
-u, --unstable Include unstable versions in list
gは、 $PATHで使用できるバイナリのように機能する単一のポータブルシェルスクリプトです。インストールスクリプトでgセットアップする場合、その削除は非常に簡単です。
まず第一に、システムに関する情報を入手してください。
echo $SHELL
echo $GOROOT
echo $GOPATH
command -v g gファイルが$GOPATH/bin/ディレクトリ内に存在していることに気付くでしょう。 gのみを削除して、現在インストールされているgoバイナリと関連ファイルのみを削除する場合は、 gを削除するだけです。
# If you're using bash, zsh, or other POSIX shell:
rm " $( command -v g ) "
# If you're using fish:
rm (command -v g)さて、すべてを削除したい場合は、まずプロジェクトを$GOROOT内にバックアップしてください。次に、 $GOROOTと$GOPATH内のすべてを削除します。
rm -r $GOPATH $GOROOT次に、選択したテキストエディターを使用してシェル構成ファイルを開き、 g-installを含む行を削除する行をご覧ください。これらは、通常インストールスクリプトで使用される場所です。
# bash on MacOS
~ /.bash_profile
# bash on linux/BSD
~ /.bashrc
# zsh
~ /.zshrc
# fish shell
~ /.config/fish/config.fish
# csh
~ /.cshrc
# tcsh
~ /.tcshrc
# For ash and dash, check your $ENV var
echo $ENVこの時点で、 g削除して完全にgo 。
gおよびg-install POSIXに準拠しますg-installを使用するときにすでにGolangのインストールがあることを警告しますg install <version>にはより良い命名を使用し、 useまたはset可能性があります。 #8を参照してくださいinstallを使用して、 --downloadオプションを削除しますg既に存在する場合、主にoh-my-zshを使用しzshケースを処理しますg-install gの代替エイリアスをセットアップするようにg-installを提供するgが一般的な方法でインストールされていない場合、 self-upgradeコマンドスローを作成しますcompleteコマンドを追加するg-installにシェルをセットアップして、完了のためにこのコマンドを呼び出すようにしますg好むのか)goenvアップグレードする必要があります。gvmとほぼ同じです。Convributing.mdをお読みください。 ♥
gが触発され、に基づいているnプロジェクト。gに基づいているn-installプロジェクト。 MIT♥