[インデックス 13849] ファイルの概要
このコミットは、Go言語の公式インストールガイドである doc/install.html
ファイルのドキュメントを更新し、特にMac OS Xユーザーがtarball(圧縮アーカイブファイル)を使用してGoをインストールする際の手順を明確化し、既存のFreeBSDおよびLinux向けのtarballインストール手順に統合することを目的としています。これにより、Mac OS XにおけるGoのインストール方法に関する情報がより包括的かつ整理されました。
コミット
commit 218f08a9875572fdadb5a60055ac735b972d3417
Author: Andrew Gerrand <adg@golang.org>
Date: Mon Sep 17 17:01:09 2012 -0700
doc: document OS X tarballs
R=golang-dev
CC=golang-dev
https://golang.org/cl/6506129
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/218f08a9875572fdadb5a60055ac735b972d3417
元コミット内容
doc: document OS X tarballs
R=golang-dev
CC=golang-dev
https://golang.org/cl/6506129
変更の背景
Go言語の初期のインストールガイドでは、Mac OS Xユーザー向けには主に公式のパッケージインストーラー(.pkgファイル)の使用が推奨されていました。しかし、LinuxやFreeBSDユーザーと同様に、Mac OS Xユーザーもtarball形式でGoをダウンロードし、手動でインストールする場合があります。この方法を選択するユーザーにとっては、パッケージインストーラーに特化した説明だけでは不十分でした。
このコミットが行われた背景には、以下の点が考えられます。
- インストールの柔軟性の向上: ユーザーがパッケージインストーラーだけでなく、tarballによる手動インストールも選択できるように、ドキュメントを充実させる必要がありました。
- ドキュメントの一貫性: FreeBSDやLinux向けのtarballインストール手順が存在する中で、Mac OS X向けにも同様の手順を明記することで、ドキュメント全体の一貫性を保つ狙いがありました。
- ユーザー体験の改善: Mac OS Xでtarballを使ってGoをインストールしようとするユーザーが、適切な情報を見つけられずに困惑するのを防ぐため、より明確なガイダンスを提供することが求められました。
この変更により、Mac OS Xユーザーは、自身の環境や好みに応じて、パッケージインストーラーとtarballインストールの両方から適切な方法を選択できるようになりました。
前提知識の解説
このコミットの変更内容を理解するためには、以下の前提知識があると役立ちます。
- Go言語: Googleによって開発されたオープンソースのプログラミング言語。シンプルさ、効率性、並行処理のサポートが特徴です。
- tarball (.tar.gz): Unix系OSで広く使われるファイルアーカイブ形式です。複数のファイルを一つのアーカイブにまとめ(tar)、それをgzipで圧縮(.gz)したものです。ソフトウェアの配布によく用いられます。
- パッケージインストーラー (.pkg): Mac OS Xでアプリケーションやソフトウェアをインストールするための標準的な形式です。GUIベースのウィザード形式でインストールを進めることができます。
tar
コマンド: Unix系OSでtarballの作成や展開を行うためのコマンドラインツールです。-C <directory>
: 指定したディレクトリに展開します。-x
: アーカイブからファイルを展開します。-z
: gzip圧縮されたアーカイブを扱います。-f <archive_file>
: 操作対象のアーカイブファイルを指定します。
rm
コマンド: Unix系OSでファイルやディレクトリを削除するためのコマンドです。-r
: ディレクトリとその内容を再帰的に削除します。
PATH
環境変数: オペレーティングシステムが実行可能ファイルを探すディレクトリのリストを定義する環境変数です。Goのバイナリがこのパスに含まれていないと、コマンドラインからgo
コマンドを実行できません。- HTML (HyperText Markup Language): ウェブページの構造を定義するためのマークアップ言語です。
<h3>
タグ: 見出し(レベル3)を定義します。<p>
タグ: 段落を定義します。<a>
タグ: ハイパーリンクを定義します。href
属性でリンク先を指定します。<pre>
タグ: 整形済みテキストを表示します。通常、等幅フォントで表示され、空白や改行がそのまま反映されます。
- 正規表現 (Regex): テキスト内のパターンを記述するための強力なツールです。このコミットでは、ダウンロードリンクのURLクエリパラメータ(
q=
以降の部分)でOSの種類やファイルタイプを指定するために使用されています。OpSys-FreeBSD
,OpSys-Linux
,OpSys-OSX
: オペレーティングシステムを指定するクエリパラメータ。Type-Archive
,Type-Installer
: ファイルの種類(アーカイブかインストーラーか)を指定するクエリパラメータ。OR
,AND
: 論理演算子で、複数の条件を組み合わせます。
技術的詳細
このコミットは、doc/install.html
という単一のHTMLファイルを変更しています。主な変更点は以下の通りです。
-
見出しの変更と統合:
- 既存の「FreeBSD and Linux」という見出し(
id="freebsd_linux"
)が「FreeBSD, Linux, and Mac OS X tarballs」に変更されました。これにより、このセクションがMac OS Xのtarballインストールにも対応することが明確になりました。 - 既存の「Mac OS X」という見出し(
id="osx"
)が「Mac OS X package installer」に変更されました。これにより、このセクションがMac OS Xのパッケージインストーラーに特化したものであることが明確になりました。
- 既存の「FreeBSD and Linux」という見出し(
-
説明文の一般化:
- 「On FreeBSD and Linux, if you are upgrading...」という文が「If you are upgrading...」に変更され、特定のOSに限定されない一般的なアップグレード手順として記述されました。これは、Mac OS Xユーザーにも適用されるためです。
-
ダウンロードリンクの更新:
- FreeBSDおよびLinux向けのtarballダウンロードリンクのクエリパラメータに
+OR+OpSys-OSX+AND+Type-Archive
が追加されました。これにより、Mac OS X向けのtarballもこのリンクからダウンロードできるようになりました。 - Mac OS Xパッケージインストーラーのダウンロードリンクのクエリパラメータに
+AND+Type-Installer
が追加されました。これにより、このリンクが明確にインストーラータイプのみを指すようになりました。
- FreeBSDおよびLinux向けのtarballダウンロードリンクのクエリパラメータに
-
tar
コマンドの例の更新:tar -C /usr/local -xzf go.release.go1.tar.gz
という一般的な例が、より具体的なファイル名を含むtar -C /usr/local -xzf go1.0.2.linux-amd64.tar.gz
に変更されました。これは、特定のバージョンとアーキテクチャを示すことで、ユーザーが実際のファイル名をイメージしやすくするための変更と考えられます。ただし、これはあくまで例であり、ユーザーはダウンロードした実際のファイル名を使用する必要があります。
これらの変更により、doc/install.html
は、Mac OS Xユーザーがtarballを使用してGoをインストールする際の手順を、既存のFreeBSD/Linuxの手順と統合し、より明確で包括的な情報を提供するようになりました。
コアとなるコードの変更箇所
--- a/doc/install.html
+++ b/doc/install.html
@@ -103,10 +103,10 @@ Windows users should read the section about <a href="#windows_env">setting
environment variables under Windows</a>.
</p>
-<h3 id="freebsd_linux">FreeBSD and Linux</h3>
+<h3 id="freebsd_linux">FreeBSD, Linux, and Mac OS X tarballs</h3>
<p>
-On FreeBSD and Linux, if you are upgrading from an older version of Go you must
+If you are upgrading from an older version of Go you must
first remove the existing version from <code>/usr/local/go</code>:
</p>
@@ -115,12 +115,12 @@ rm -r /usr/local/go
</pre>
<p>
-Extract <a href="http://code.google.com/p/go/downloads/list?q=OpSys-FreeBSD+OR+OpSys-Linux">the archive</a>
+Extract <a href="http://code.google.com/p/go/downloads/list?q=OpSys-FreeBSD+OR+OpSys-Linux+OR+OpSys-OSX+AND+Type-Archive">the archive</a>
into <code>/usr/local</code>, creating a Go tree in <code>/usr/local/go</code>:
</p>
<pre>
-tar -C /usr/local -xzf go.release.go1.tar.gz
+tar -C /usr/local -xzf go1.0.2.linux-amd64.tar.gz
</pre>
<p>
@@ -137,10 +137,10 @@ variable. You can do this by adding this line to your <code>/etc/profile</code>
export PATH=$PATH:/usr/local/go/bin
</pre>
-<h3 id="osx">Mac OS X</h3>
+<h3 id="osx">Mac OS X package installer</h3>
<p>
-Open the <a href="http://code.google.com/p/go/downloads/list?q=OpSys-Darwin">package file</a>
+Open the <a href="http://code.google.com/p/go/downloads/list?q=OpSys-Darwin+AND+Type-Installer">package file</a>
and follow the prompts to install the Go tools.\n The package installs the Go distribution to <code>/usr/local/go</code>.\n </p>\n
コアとなるコードの解説
上記のdiffは、doc/install.html
ファイルに対する具体的な変更を示しています。
-
行 106 (
- <h3 id="freebsd_linux">FreeBSD and Linux</h3>
) から 行 106 (+ <h3 id="freebsd_linux">FreeBSD, Linux, and Mac OS X tarballs</h3>
):- この変更は、見出しのテキストを「FreeBSD and Linux」から「FreeBSD, Linux, and Mac OS X tarballs」に修正しています。これにより、このセクションがFreeBSDとLinuxだけでなく、Mac OS Xのtarballインストールにも適用されることが明確になります。
id="freebsd_linux"
は変更されていないため、既存の内部リンクは引き続き機能します。
- この変更は、見出しのテキストを「FreeBSD and Linux」から「FreeBSD, Linux, and Mac OS X tarballs」に修正しています。これにより、このセクションがFreeBSDとLinuxだけでなく、Mac OS Xのtarballインストールにも適用されることが明確になります。
-
行 108 (
- On FreeBSD and Linux, if you are upgrading from an older version of Go you must
) から 行 108 (+ If you are upgrading from an older version of Go you must
):- この変更は、アップグレードに関する説明文から「On FreeBSD and Linux,」という特定のOSへの言及を削除しています。これにより、この手順がより一般的になり、Mac OS Xユーザーにも適用されることを示唆しています。
-
行 118 (
- Extract <a href="http://code.google.com/p/go/downloads/list?q=OpSys-FreeBSD+OR+OpSys-Linux">the archive</a>
) から 行 118 (+ Extract <a href="http://code.google.com/p/go/downloads/list?q=OpSys-FreeBSD+OR+OpSys-Linux+OR+OpSys-OSX+AND+Type-Archive">the archive</a>
):- この変更は、ダウンロードリンクの
href
属性を更新しています。元のリンクはFreeBSDとLinuxのtarballのみを対象としていましたが、+OR+OpSys-OSX+AND+Type-Archive
が追加されたことで、Mac OS Xのtarballもこのリンクからダウンロードできるようになりました。これは、Goのダウンロードリストページで、OS Xのアーカイブタイプをフィルタリングするためのクエリパラメータです。
- この変更は、ダウンロードリンクの
-
行 121 (
- tar -C /usr/local -xzf go.release.go1.tar.gz
) から 行 121 (+ tar -C /usr/local -xzf go1.0.2.linux-amd64.tar.gz
):- この変更は、
tar
コマンドの例で使用されるファイル名をより具体的なものに変更しています。go.release.go1.tar.gz
という一般的な名前から、go1.0.2.linux-amd64.tar.gz
という特定のバージョンとアーキテクチャを含む名前に変わっています。これは、ユーザーが実際のダウンロードファイル名をイメージしやすくするための改善ですが、ユーザーは常にダウンロードした実際のファイル名を使用する必要があります。
- この変更は、
-
行 137 (
- <h3 id="osx">Mac OS X</h3>
) から 行 137 (+ <h3 id="osx">Mac OS X package installer</h3>
):- この変更は、見出しのテキストを「Mac OS X」から「Mac OS X package installer」に修正しています。これにより、このセクションがMac OS Xのパッケージインストーラーに特化したものであることが明確になります。
id="osx"
は変更されていないため、既存の内部リンクは引き続き機能します。
- この変更は、見出しのテキストを「Mac OS X」から「Mac OS X package installer」に修正しています。これにより、このセクションがMac OS Xのパッケージインストーラーに特化したものであることが明確になります。
-
行 140 (
- Open the <a href="http://code.google.com/p/go/downloads/list?q=OpSys-Darwin">package file</a>
) から 行 140 (+ Open the <a href="http://code.google.com/p/go/downloads/list?q=OpSys-Darwin+AND+Type-Installer">package file</a>
):- この変更は、Mac OS Xパッケージインストーラーのダウンロードリンクの
href
属性を更新しています。元のリンクは単にMac OS X向けのファイルを指していましたが、+AND+Type-Installer
が追加されたことで、このリンクが明確にインストーラータイプのみを指すようになりました。
- この変更は、Mac OS Xパッケージインストーラーのダウンロードリンクの
これらの変更は全体として、Goのインストールドキュメントの正確性、網羅性、およびユーザーフレンドリーさを向上させています。
関連リンク
- Go言語公式サイト: https://go.dev/
- Go言語インストールガイド (現在のバージョン): https://go.dev/doc/install
- Go言語ダウンロードページ: https://go.dev/dl/
参考にした情報源リンク
- GitHubコミットページ: https://github.com/golang/go/commit/218f08a9875572fdadb5a60055ac735b972d3417
- Go言語の公式ドキュメント (コミット当時のもの、または類似のバージョン): 該当する時期の
doc/install.html
の内容を参考にしました。 - 一般的なHTMLの知識
- Unix/Linuxコマンドラインの知識 (
tar
,rm
,export PATH
) - 正規表現の知識