2016-04-15 19 views
10

コンピュータのどこからでもbashコマンドで実行できるようにインストールしたいGolangプログラムをコンパイルしていたら、どうすればいいですか?例えば、gangのnpm installと同等-g

npm install -g express 

インストールし、私はコマンド

express myapp 

を実行し、表現することができるような表現nodejsに何でも私の現在のディレクトリがある中、「myappの」と呼ばれるノード・アプリケーション用ファイルのディレクトリを生成します。 goと同等のコマンドがありますか?私はあなたがそれを実行するために実行可能ファイルを含むディレクトリにいなければならない "インストール"コマンドを今信じて

ありがとうございます!

+0

PATHにGOPATH/binを追加しますか? (または、あなたは[パッケージマネージャーに行く](https://github.com/golang/go/wiki/PackageManagementTools)を探していますか?) – JimB

答えて

7

私が知る限り、npm install -gに直接相当するものはありません。最も近いものはgo installではなく、go getです。

使用方法:ヘルプページ(go help get)からgo get [-d] [-f] [-fix] [-insecure] [-t] [-u] [build flags] [packages]

ダウンロードを取得し、インポートパスで指定されたパッケージをインストールし、その依存関係と一緒に 。デフォルトでは

go get$GOPATH/binにバイナリをインストールしますので、どこからでも、それらのバイナリを呼び出し可能にする最も簡単な方法は、あなたの$PATHにそのディレクトリを追加することです。このため

、(これはあなたが使用しているシェルに応じて、または.zshrc)あなたの.bashrcに次の行を置く:

export PATH="$PATH:$GOPATH/bin" 

また、あなたはまた、コピーまたは/usr/local/binに実行可能ファイルをリンクすることができ:

ln -s $GOPATH/bin/some-binary /usr/local/bin/some-binary 
+0

これは正しかった(そしてあなたの助けに感謝します)が、この質問に遭遇した人にとってはバイナリをビルドしてputsあなたの '$ GOPATH/bin'にあります – Ryan

2

Goのこれと最も類似しているのは、go getです。デフォルトでは、指定されたリポジトリURLからGoパッケージを取得します。$GOPATH変数がシェルに設定されている必要があります。Goはパッケージの保存場所を知っています(go get -tedに応じてコードをコンパイルするときにパッケージ)。

構文の例は:

$ go get github.com/user/repo 

npm-gフラグによって提供される動作デフォルトであり、go getを使用してインストールしたパッケージは、世界的に正常にご利用いただけます。

このコマンドの詳細については、go get --helpを参照してください。

@helmbertに記載されているように、$GOPATH$PATHに追加すると、スタンドアロンパッケージをインストールする場合に便利です。

+2

"go get help":D –

関連する問題