Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

[インデックス 17702] ファイルの概要

このコミットは、Go言語の公式ドキュメント doc/install-source.html に、godoccovervet といったGoツールがインストールされる場所と、それらのツールへのアクセス方法に関する注記を追加するものです。これにより、Goのソースからビルドしたユーザーが、これらのツールのバイナリがどこに配置され、どのように実行できるかを明確に理解できるようになります。

コミット

commit bc0e51555c35552415eb5d4560b43b4bff0e944b
Author: Andrew Gerrand <adg@golang.org>
Date:   Wed Sep 25 18:15:29 2013 +1000

    doc: mention the install locations for godoc, cover, and vet
    
    R=golang-dev, r
    CC=golang-dev
    https://golang.org/cl/13893043

GitHub上でのコミットページへのリンク

https://github.com/golang/go/commit/bc0e51555c35552415eb5d4560b43b4bff0e944b

元コミット内容

doc: mention the install locations for godoc, cover, and vet

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/13893043

変更の背景

Go言語の初期のバージョンでは、ツールのインストールパスやアクセス方法に関するドキュメントが不足していることがありました。特に、go getgo install コマンドによってインストールされるバイナリの配置場所は、ユーザーがGoの環境設定やツールの利用方法を理解する上で重要な情報です。

このコミットが行われた2013年9月時点では、Goのツールチェインはまだ進化の途中にあり、ユーザーがGoのソースコードからビルドして環境を構築する際に、どのツールがどこにインストールされるのか、そしてどのように実行するのかについて混乱が生じる可能性がありました。

godoc はGoのドキュメントを生成・表示するツール、cover はコードカバレッジを測定するツール、vet はGoコードの潜在的なバグを検出するツールであり、これらはGo開発において非常に重要なユーティリティです。これらのツールのインストール場所とアクセス方法を明記することで、ユーザーエクスペリエンスの向上と、Go開発環境のセットアップの円滑化が図られました。特に covervetgo tool サブコマンドを通じて実行されるため、その旨を明記することはユーザーにとって非常に有益でした。

前提知識の解説

このコミットを理解するためには、以下のGo言語の基本的な概念とツールに関する知識が必要です。

  • Go言語のワークスペース (GOPATH): Go 1.0からGo 1.10までのGo言語のプロジェクト管理において中心的な役割を果たした環境変数です。Goのソースコード、パッケージ、バイナリが配置される場所を定義します。通常、$GOPATH/src にソースコード、$GOPATH/pkg にコンパイル済みパッケージ、$GOPATH/bin に実行可能バイナリが置かれます。
  • GOROOT: Go言語のSDKがインストールされているディレクトリを指す環境変数です。Goの標準ライブラリのソースコードや、Goツールチェインのバイナリ(go コマンド自体など)がここに配置されます。
  • GOBIN: go install コマンドによってインストールされる実行可能バイナリのデフォルトのインストール先ディレクトリを指す環境変数です。GOBIN が設定されていない場合、バイナリは $GOPATH/bin または $GOROOT/bin にインストールされます。
  • go コマンド: Go言語のビルド、テスト、パッケージ管理などを行うための主要なコマンドラインツールです。
  • go tool コマンド: go コマンドのサブコマンドの一つで、Goツールチェインに含まれる低レベルなツール(例: cover, vet, pprof など)を実行するために使用されます。これらのツールは通常、直接実行するのではなく、go tool <toolname> の形式で実行されます。
  • godoc: Goのソースコードからドキュメントを生成し、Webブラウザで表示するためのツールです。Goの標準ライブラリやサードパーティライブラリのドキュメントを閲覧する際に非常に便利です。
  • go cover (または cover): Goのコードカバレッジを測定するためのツールです。テストがコードのどの部分を実行したかを可視化し、テストの網羅性を評価するのに役立ちます。
  • go vet (または vet): Goのソースコードを静的に解析し、潜在的なバグや疑わしいコードパターンを検出するためのツールです。例えば、書式文字列の誤りや、ロックの誤用などを検出できます。

技術的詳細

このコミットは、Go言語のドキュメント doc/install-source.html に、Goツールチェインの特定のツール(godoc, cover, vet)のインストールパスと実行方法に関する重要な情報を追加しています。

具体的には、以下の点が技術的な詳細として挙げられます。

  1. インストールパスの明示:
    • godoc バイナリは $GOROOT/bin または $GOBIN にインストールされることが明記されています。これは、godoc がGoの基本的なツールとして、他の主要なGoコマンドと同じパスに配置されることを示しています。
    • covervet バイナリは $GOROOT/pkg/tool/$GOOS_$GOARCH にインストールされることが明記されています。このパスは、Goの内部ツールやプラットフォーム固有のツールが配置される場所であり、通常はユーザーのPATHには含まれません。$GOOS はオペレーティングシステム(例: linux, darwin, windows)、$GOARCH はアーキテクチャ(例: amd64, arm)を表します。
  2. go tool コマンドの使用:
    • covervet は、直接バイナリを実行するのではなく、go tool cover および go tool vet という形式でアクセスする必要があることが強調されています。これは、これらのツールがGoツールチェインの「内部」ツールとして扱われ、go コマンドがそれらの実行を仲介する役割を果たすためです。この仕組みにより、Goツールチェインのバージョン管理や、ツールの発見可能性が向上します。
  3. ドキュメントの正確性向上:
    • この変更により、Goのソースからビルドして環境をセットアップするユーザーが、これらのツールのバイナリがどこに配置され、どのように実行できるかについて、より正確な情報を得られるようになりました。これにより、ツールの利用に関する混乱が減り、開発効率が向上します。
  4. HTMLドキュメントへの追加:
    • 変更はHTML形式のドキュメント doc/install-source.html に行われています。これは、Goの公式ウェブサイトで公開されるドキュメントの一部であり、Goのインストール手順や環境設定に関する情報を提供しています。

このコミットは、Go言語のツールエコシステムの成熟と、ユーザーへの情報提供の重要性を示しています。特に、go tool の概念はGoのツールチェインの設計において重要な要素であり、このドキュメントの追加はその理解を助けるものです。

コアとなるコードの変更箇所

変更は doc/install-source.html ファイルに対して行われました。具体的には、既存の <p> タグの後に新しい <p> タグが追加され、Goツールのインストール場所とアクセス方法に関する注記が挿入されています。

--- a/doc/install-source.html
+++ b/doc/install-source.html
@@ -250,6 +250,16 @@ You must also have a workspace (<code>GOPATH</code>) set up;
 see <a href="/doc/code.html">How to Write Go Code</a> for the details.
 </p>
 
+<p>
+<b>Note</b>: The <code>go</code> command will install the <code>godoc</code>
+binary to <code>$GOROOT/bin</code> (or <code>$GOBIN</code>) and the
+<code>cover</code> and <code>vet</code> binaries to
+<code>$GOROOT/pkg/tool/$GOOS_$GOARCH</code>.
+You can access the latter commands with
+"<code>go</code> <code>tool</code> <code>cover</code>" and
+"<code>go</code> <code>tool</code> <code>vet</code>".
+</p>
+
 <h2 id="community\">Community resources</h2>
 
 <p>

コアとなるコードの解説

追加されたHTMLスニペットは、Goのドキュメントに以下の情報を明確に伝えています。

<p>
<b>Note</b>: The <code>go</code> command will install the <code>godoc</code>
binary to <code>$GOROOT/bin</code> (or <code>$GOBIN</code>) and the
<code>cover</code> and <code>vet</code> binaries to
<code>$GOROOT/pkg/tool/$GOOS_$GOARCH</code>.
You can access the latter commands with
"<code>go</code> <code>tool</code> <code>cover</code>" and
"<code>go</code> <code>tool</code> <code>vet</code>".
</p>
  • <p> タグ: 新しい段落を開始します。
  • <b>Note</b>: 「注意」という強調表示を追加し、続く情報が重要であることを示します。
  • The <code>go</code> command will install the <code>godoc</code> binary to <code>$GOROOT/bin</code> (or <code>$GOBIN</code>):
    • go コマンドが godoc バイナリを $GOROOT/bin または $GOBIN にインストールすることを説明しています。これは、godoc がGoの主要な実行可能ファイルと同じ場所に配置され、通常はユーザーのPATHを通じて直接アクセスできることを意味します。
  • and the <code>cover</code> and <code>vet</code> binaries to <code>$GOROOT/pkg/tool/$GOOS_$GOARCH</code>.
    • covervet バイナリが $GOROOT/pkg/tool/$GOOS_$GOARCH にインストールされることを説明しています。このパスは、Goの内部ツールやプラットフォーム固有のツールが配置される場所であり、通常はユーザーのPATHには含まれません。
  • You can access the latter commands with "<code>go</code> <code>tool</code> <code>cover</code>" and "<code>go</code> <code>tool</code> <code>vet</code>".:
    • covervet のようなツールは、go tool サブコマンドを使用してアクセスする必要があることを明確に指示しています。これにより、ユーザーはこれらのツールを正しく実行する方法を理解できます。

この追加により、Goのドキュメントはより包括的になり、Goのツールチェインの動作に関する一般的な疑問を解消するのに役立ちます。

関連リンク

参考にした情報源リンク

  • Go言語の公式ドキュメント (コミット内容の理解のため)
  • Go言語の環境変数に関する一般的な情報源 (GOROOT, GOPATH, GOBINの理解のため)
  • go tool コマンドに関する情報源 (ツールの実行方法の理解のため)
  • godoc, go cover, go vet 各ツールの機能に関する情報源# [インデックス 17702] ファイルの概要

このコミットは、Go言語の公式ドキュメント doc/install-source.html に、godoccovervet といったGoツールがインストールされる場所と、それらのツールへのアクセス方法に関する注記を追加するものです。これにより、Goのソースからビルドしたユーザーが、これらのツールのバイナリがどこに配置され、どのように実行できるかを明確に理解できるようになります。

コミット

commit bc0e51555c35552415eb5d4560b43b4bff0e944b
Author: Andrew Gerrand <adg@golang.org>
Date:   Wed Sep 25 18:15:29 2013 +1000

    doc: mention the install locations for godoc, cover, and vet
    
    R=golang-dev, r
    CC=golang-dev
    https://golang.org/cl/13893043

GitHub上でのコミットページへのリンク

https://github.com/golang/go/commit/bc0e51555c35552415eb5d4560b43b4bff0e944b

元コミット内容

doc: mention the install locations for godoc, cover, and vet

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/13893043

変更の背景

Go言語の初期のバージョンでは、ツールのインストールパスやアクセス方法に関するドキュメントが不足していることがありました。特に、go getgo install コマンドによってインストールされるバイナリの配置場所は、ユーザーがGoの環境設定やツールの利用方法を理解する上で重要な情報です。

このコミットが行われた2013年9月時点では、Goのツールチェインはまだ進化の途中にあり、ユーザーがGoのソースコードからビルドして環境を構築する際に、どのツールがどこにインストールされるのか、そしてどのように実行するのかについて混乱が生じる可能性がありました。

godoc はGoのドキュメントを生成・表示するツール、cover はコードカバレッジを測定するツール、vet はGoコードの潜在的なバグを検出するツールであり、これらはGo開発において非常に重要なユーティリティです。これらのツールのインストール場所とアクセス方法を明記することで、ユーザーエクスペリエンスの向上と、Go開発環境のセットアップの円滑化が図られました。特に covervetgo tool サブコマンドを通じて実行されるため、その旨を明記することはユーザーにとって非常に有益でした。

前提知識の解説

このコミットを理解するためには、以下のGo言語の基本的な概念とツールに関する知識が必要です。

  • Go言語のワークスペース (GOPATH): Go 1.0からGo 1.10までのGo言語のプロジェクト管理において中心的な役割を果たした環境変数です。Goのソースコード、パッケージ、バイナリが配置される場所を定義します。通常、$GOPATH/src にソースコード、$GOPATH/pkg にコンパイル済みパッケージ、$GOPATH/bin に実行可能バイナリが置かれます。
  • GOROOT: Go言語のSDKがインストールされているディレクトリを指す環境変数です。Goの標準ライブラリのソースコードや、Goツールチェインのバイナリ(go コマンド自体など)がここに配置されます。
  • GOBIN: go install コマンドによってインストールされる実行可能バイナリのデフォルトのインストール先ディレクトリを指す環境変数です。GOBIN が設定されていない場合、バイナリは $GOPATH/bin または $GOROOT/bin にインストールされます。
  • go コマンド: Go言語のビルド、テスト、パッケージ管理などを行うための主要なコマンドラインツールです。
  • go tool コマンド: go コマンドのサブコマンドの一つで、Goツールチェインに含まれる低レベルなツール(例: cover, vet, pprof など)を実行するために使用されます。これらのツールは通常、直接実行するのではなく、go tool <toolname> の形式で実行されます。
  • godoc: Goのソースコードからドキュメントを生成し、Webブラウザで表示するためのツールです。Goの標準ライブラリやサードパーティライブラリのドキュメントを閲覧する際に非常に便利です。
  • go cover (または cover): Goのコードカバレッジを測定するためのツールです。テストがコードのどの部分を実行したかを可視化し、テストの網羅性を評価するのに役立ちます。
  • go vet (または vet): Goのソースコードを静的に解析し、潜在的なバグや疑わしいコードパターンを検出するためのツールです。例えば、書式文字列の誤りや、ロックの誤用などを検出できます。

技術的詳細

このコミットは、Go言語のドキュメント doc/install-source.html に、Goツールチェインの特定のツール(godoc, cover, vet)のインストールパスと実行方法に関する重要な情報を追加しています。

具体的には、以下の点が技術的な詳細として挙げられます。

  1. インストールパスの明示:
    • godoc バイナリは $GOROOT/bin または $GOBIN にインストールされることが明記されています。これは、godoc がGoの基本的なツールとして、他の主要なGoコマンドと同じパスに配置されることを示しています。
    • covervet バイナリは $GOROOT/pkg/tool/$GOOS_$GOARCH にインストールされることが明記されています。このパスは、Goの内部ツールやプラットフォーム固有のツールが配置される場所であり、通常はユーザーのPATHには含まれません。$GOOS はオペレーティングシステム(例: linux, darwin, windows)、$GOARCH はアーキテクチャ(例: amd64, arm)を表します。
  2. go tool コマンドの使用:
    • covervet は、直接バイナリを実行するのではなく、go tool cover および go tool vet という形式でアクセスする必要があることが強調されています。これは、これらのツールがGoツールチェインの「内部」ツールとして扱われ、go コマンドがそれらの実行を仲介する役割を果たすためです。この仕組みにより、Goツールチェインのバージョン管理や、ツールの発見可能性が向上します。
  3. ドキュメントの正確性向上:
    • この変更により、Goのソースからビルドして環境をセットアップするユーザーが、これらのツールのバイナリがどこに配置され、どのように実行できるかについて、より正確な情報を得られるようになりました。これにより、ツールの利用に関する混乱が減り、開発効率が向上します。
  4. HTMLドキュメントへの追加:
    • 変更はHTML形式のドキュメント doc/install-source.html に行われています。これは、Goの公式ウェブサイトで公開されるドキュメントの一部であり、Goのインストール手順や環境設定に関する情報を提供しています。

このコミットは、Go言語のツールエコシステムの成熟と、ユーザーへの情報提供の重要性を示しています。特に、go tool の概念はGoのツールチェインの設計において重要な要素であり、このドキュメントの追加はその理解を助けるものです。

コアとなるコードの変更箇所

変更は doc/install-source.html ファイルに対して行われました。具体的には、既存の <p> タグの後に新しい <p> タグが追加され、Goツールのインストール場所とアクセス方法に関する注記が挿入されています。

--- a/doc/install-source.html
+++ b/doc/install-source.html
@@ -250,6 +250,16 @@ You must also have a workspace (<code>GOPATH</code>) set up;
 see <a href="/doc/code.html">How to Write Go Code</a> for the details.
 </p>
 
+<p>
+<b>Note</b>: The <code>go</code> command will install the <code>godoc</code>
+binary to <code>$GOROOT/bin</code> (or <code>$GOBIN</code>) and the
+<code>cover</code> and <code>vet</code> binaries to
+<code>$GOROOT/pkg/tool/$GOOS_$GOARCH</code>.
+You can access the latter commands with
+"<code>go</code> <code>tool</code> <code>cover</code>" and
+"<code>go</code> <code>tool</code> <code>vet</code>".
+</p>
+
 <h2 id="community\">Community resources</h2>
 
 <p>

コアとなるコードの解説

追加されたHTMLスニペットは、Goのドキュメントに以下の情報を明確に伝えています。

<p>
<b>Note</b>: The <code>go</code> command will install the <code>godoc</code>
binary to <code>$GOROOT/bin</code> (or <code>$GOBIN</code>) and the
<code>cover</code> and <code>vet</code> binaries to
<code>$GOROOT/pkg/tool/$GOOS_$GOARCH</code>.
You can access the latter commands with
"<code>go</code> <code>tool</code> <code>cover</code>" and
"<code>go</code> <code>tool</code> <code>vet</code>".
</p>
  • <p> タグ: 新しい段落を開始します。
  • <b>Note</b>: 「注意」という強調表示を追加し、続く情報が重要であることを示します。
  • The <code>go</code> command will install the <code>godoc</code> binary to <code>$GOROOT/bin</code> (or <code>$GOBIN</code>):
    • go コマンドが godoc バイナリを $GOROOT/bin または $GOBIN にインストールすることを説明しています。これは、godoc がGoの主要な実行可能ファイルと同じ場所に配置され、通常はユーザーのPATHを通じて直接アクセスできることを意味します。
  • and the <code>cover</code> and <code>vet</code> binaries to <code>$GOROOT/pkg/tool/$GOOS_$GOARCH</code>.
    • covervet バイナリが $GOROOT/pkg/tool/$GOOS_$GOARCH にインストールされることを説明しています。このパスは、Goの内部ツールやプラットフォーム固有のツールが配置される場所であり、通常はユーザーのPATHには含まれません。
  • You can access the latter commands with "<code>go</code> <code>tool</code> <code>cover</code>" and "<code>go</code> <code>tool</code> <code>vet</code>".:
    • covervet のようなツールは、go tool サブコマンドを使用してアクセスする必要があることを明確に指示しています。これにより、ユーザーはこれらのツールを正しく実行する方法を理解できます。

この追加により、Goのドキュメントはより包括的になり、Goのツールチェインの動作に関する一般的な疑問を解消するのに役立ちます。

関連リンク

参考にした情報源リンク

  • Go言語の公式ドキュメント (コミット内容の理解のため)
  • Go言語の環境変数に関する一般的な情報源 (GOROOT, GOPATH, GOBINの理解のため)
  • go tool コマンドに関する情報源 (ツールの実行方法の理解のため)
  • godoc, go cover, go vet 各ツールの機能に関する情報源