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

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

このコミットは、Go言語のインストール手順を説明するドキュメント doc/install.html における、Goバイナリアーカイブのファイル名の記述を明確化するものです。具体的には、tar コマンドの例で示されているファイル名が、あくまで一例であることを補足する説明が追加されました。これにより、ユーザーが異なるバージョンのGoや異なるシステムアーキテクチャでインストールを行う際に、ファイル名が異なることによる混乱を防ぐことを目的としています。

コミット

commit a7d4c3f43dbcab516b6bbd4723fbff30469898a7
Author: Andrew Gerrand <adg@golang.org>
Date:   Thu Sep 27 15:34:18 2012 -0700

    doc: clarify that the displayed tar file name is an example
    
    R=golang-dev, dave, r
    CC=golang-dev
    https://golang.org/cl/6573065

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

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

元コミット内容

doc: clarify that the displayed tar file name is an example

変更の背景

Go言語のインストール手順に関する公式ドキュメント doc/install.html には、Goバイナリをダウンロードして展開するための tar コマンドの例が記載されていました。この例では、特定のバージョンのGo(例: go1.0.2.linux-amd64.tar.gz)のファイル名がハードコードされていました。

しかし、Goのバージョンアップや異なるオペレーティングシステム、プロセッサアーキテクチャに対応するバイナリがリリースされるにつれて、このファイル名は頻繁に変わります。ドキュメントに記載されたファイル名が常に最新のものであるとは限らず、ユーザーがドキュメントの例をそのまま実行しようとした際に、ファイルが見つからない、またはファイル名が一致しないといった問題に直面する可能性がありました。

このコミットは、このようなユーザーの混乱を避けるため、ドキュメントに示されている tar ファイル名が単なる「例」であり、実際のファイル名はインストールするGoのバージョンやシステム環境によって異なる場合があることを明示的に伝えるために行われました。これにより、ドキュメントの汎用性とユーザーフレンドリーさが向上しました。

前提知識の解説

  • Go言語のインストール: Go言語は、公式ウェブサイトから提供されるバイナリディストリビューションをダウンロードし、特定のディレクトリ(通常は /usr/local/go)に展開することでインストールされます。
  • tar コマンド: tar は "tape archive" の略で、複数のファイルを一つのアーカイブファイルにまとめる(アーカイブ化)ためのUnix系OSのコマンドです。また、アーカイブからファイルを展開する際にも使用されます。
    • -C /usr/local: 展開先のディレクトリを指定します。この場合、/usr/local ディレクトリに展開されます。
    • -x: アーカイブからファイルを展開(extract)するオプションです。
    • -z: gzip 形式で圧縮されたアーカイブを扱うことを示します。Goのバイナリディストリビューションは通常 gzip で圧縮されています。
    • -f <filename>: 操作対象のアーカイブファイルを指定します。
  • .tar.gz ファイル: .tar.gz または .tgz は、tar コマンドでアーカイブ化された後、gzip コマンドで圧縮されたファイルを指します。Goのバイナリディストリビューションは通常この形式で提供されます。
  • doc/install.html: Go言語の公式ドキュメントの一部であり、Goのインストール手順をHTML形式で記述したファイルです。ウェブサイト golang.org の「Install」セクションに表示される内容の元となるファイルです。
  • sudo / root: Unix系OSにおいて、/usr/local などのシステムディレクトリにファイルを書き込む際には、通常、管理者権限(rootユーザー)が必要です。sudo コマンドは、一般ユーザーが一時的に管理者権限でコマンドを実行するために使用されます。

技術的詳細

このコミットは、doc/install.html ファイル内のHTMLコンテンツを修正することで、Goのインストール手順に関する説明を改善しています。

変更の核心は以下の2点です。

  1. tar コマンドの例の更新: 以前の例では go1.0.2.linux-amd64.tar.gz という具体的なファイル名が使用されていましたが、これを go1.0.3.linux-amd64.tar.gz に更新しています。これは、単にバージョン番号を最新のものに合わせただけでなく、後述の「例示であることの明示」と合わせて、ファイル名が変動しうることを示唆する意図があります。
  2. ファイル名が例示であることを明示する説明の追加: tar コマンドの例の直後に、新しい <p> タグで囲まれた段落が追加されました。この段落は、「アーカイブの名前は、インストールしているGoのバージョン、およびシステムのオペレーティングシステムとプロセッサアーキテクチャによって異なる場合があります。」という内容を明確に伝えています。これにより、ユーザーはドキュメントの例がそのまま適用できない場合があることを事前に理解できます。

これらの変更は、ドキュメントの正確性とユーザーエクスペリエンスを向上させるための、シンプルながらも重要な改善です。HTMLの構造としては、既存の <pre> タグ(コードブロック)の直後に新しい <p> タグが挿入されています。

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

--- a/doc/install.html
+++ b/doc/install.html
@@ -116,13 +116,19 @@ rm -r /usr/local/go
 
 <p>
 Extract <a href="http://code.google.com/p/go/downloads/list?q=OpSys-FreeBSD+OR+OpSys-Linux+OR+OpSys-OSX+Type-Archive">the archive</a>
-into <code>/usr/local</code>, creating a Go tree in <code>/usr/local/go</code>:
+into <code>/usr/local</code>, creating a Go tree in <code>/usr/local/go</code>.
+For example:
 </p>
 
 <pre>
-tar -C /usr/local -xzf go1.0.2.linux-amd64.tar.gz
+tar -C /usr/local -xzf go1.0.3.linux-amd64.tar.gz
 </pre>
 
+<p>
+The name of the archive may differ, depending on the version of Go you are
+installing and your system's operating system and processor architecture.
+</p>
+
 <p>
 (Typically these commands must be run as root or through <code>sudo</code>.)
 </p>

コアとなるコードの解説

上記のdiffは、doc/install.html ファイルに対する変更を示しています。

  • - into <code>/usr/local</code>, creating a Go tree in <code>/usr/local/go</code>:

    • これは変更前のテキストです。Goを /usr/local に展開し、/usr/local/go にGoツリーを作成することを示しています。
  • + into <code>/usr/local</code>, creating a Go tree in <code>/usr/local/go</code>.

    • 変更後のテキストです。末尾のコロン : がピリオド . に変更され、続く行で「For example:」という補足が追加されています。これにより、次のコードブロックが例示であることを明確にしています。
  • + For example:

    • 新しく追加された行で、直後の tar コマンドが例であることを示唆しています。
  • - tar -C /usr/local -xzf go1.0.2.linux-amd64.tar.gz

    • 変更前の tar コマンドの例です。Go 1.0.2のLinux AMD64版のアーカイブファイル名が指定されています。
  • + tar -C /usr/local -xzf go1.0.3.linux-amd64.tar.gz

    • 変更後の tar コマンドの例です。アーカイブファイル名が go1.0.3.linux-amd64.tar.gz に更新されています。これは、ドキュメントが書かれた時点での最新バージョンに合わせたものと考えられます。
  • + <p>

  • + The name of the archive may differ, depending on the version of Go you are

  • + installing and your system's operating system and processor architecture.

  • + </p>

    • これらは新しく追加されたHTMLの段落(<p> タグ)です。この段落は、tar コマンドの例で示されているアーカイブファイル名が、インストールするGoのバージョンやシステムのOS、プロセッサアーキテクチャによって異なる可能性があることを明示的に説明しています。これがこのコミットの主要な目的であり、ユーザーの混乱を防ぐための重要な情報です。

全体として、この変更はドキュメントの正確性とユーザーへの配慮を向上させるための、簡潔かつ効果的な修正です。

関連リンク

  • Gerrit Change-Id: https://golang.org/cl/6573065 (Goプロジェクトでは、GitHubにプッシュされる前にGerritというコードレビューシステムが使われており、このリンクはそのGerrit上の変更セットを指します。)

参考にした情報源リンク