はい、承知いたしました。【決定版】SVN インストール手順をどこよりも分かりやすく解説 というタイトルで、SVNのインストール手順について約5000語の詳細な記事を作成します。
【決定版】SVN インストール手順をどこよりも分かりやすく解説
はじめに:なぜ今、SVN(Subversion)なのか?
現代のソフトウェア開発において、バージョン管理システムは不可欠なツールです。ソースコードの変更履歴を記録し、複数人での共同作業を効率化し、過去の任意の状態にいつでも戻せるようにすることで、開発の安全性と生産性を飛躍的に向上させます。
バージョン管理システムには様々な種類がありますが、その中でも「Subversion(サブバージョン)」、略して「SVN」は、長年にわたり多くの現場で利用されてきた実績のあるシステムです。集中型バージョン管理システムの代表格として、その安定性と使いやすさから、特に企業や組織で今なお現役で利用されています。
もちろん、最近では分散型バージョン管理システムであるGitが主流になりつつあります。しかし、SVNはGitとは異なるシンプルな思想に基づいており、特定のプロジェクトや組織のワークフローにおいては、SVNの方が適している場合も少なくありません。また、既存のSVNリポジトリを扱う必要があるケースも依然として多く存在します。
「今、SVNを学び始める」「SVNを使えるようになりたい」と考えている方のために、この記事ではSVNのインストール手順を、Windows、macOS、Linuxの主要な3つのOS向けに、どこよりも分かりやすく、そして決定版として詳細に解説します。
インストールは開発の第一歩です。このガイドを読めば、初心者の方でも迷うことなくSVNの環境を構築し、すぐに使い始められるようになることを目指します。
さあ、SVNの世界へ踏み出す準備は良いですか?
SVNとは?その基本を知ろう
インストール手順に入る前に、SVNがどのようなものか、基本的な概念を簡単に理解しておきましょう。これにより、インストールしたものが何のためにあるのか、その後の操作の意味がより深く理解できるようになります。
SVNは「集中型バージョン管理システム」です。これは、すべての変更履歴やプロジェクトの完全なデータが、ネットワーク上の「セントラルリポジトリ(中央リポジトリ)」という一箇所に集約されていることを意味します。
主要な構成要素は以下の通りです。
- リポジトリ (Repository):
- プロジェクトの全てのファイル、ディレクトリ、そしてそれらの全ての変更履歴が格納される「倉庫」のような場所です。
- SVNでは、このリポジトリが一つだけ存在し、すべてのユーザーがこれにアクセスして作業を行います。
- リポジトリは通常、サーバー上の特定のディレクトリに作成されます。
- ワーキングコピー (Working Copy):
- リポジトリから特定の時点(通常は最新の状態)のファイルやディレクトリをローカルコンピュータにチェックアウト(取得)したものです。
- 開発者はこのワーキングコピー上でファイルを編集したり、新しくファイルを作成したりします。
- コミット (Commit):
- ワーキングコピーで行った変更(ファイルの追加、削除、編集など)をリポジトリに送信し、記録する操作です。
- コミットにより、リポジトリに新しい「リビジョン(Revision)」が作成され、変更履歴が更新されます。
- コミット時には、その変更内容を説明する「コミットメッセージ」を必ず記述します。これは後から変更履歴を追跡する際に非常に重要になります。
- アップデート (Update):
- リポジトリに他のユーザーがコミットした最新の変更を、自分のワーキングコピーに取り込む操作です。
- これにより、自分のワーキングコピーを最新の状態に保ち、他のユーザーとの作業のずれを解消します。
- チェックアウト (Checkout):
- リポジトリから初めてワーキングコピーを作成する操作です。
SVNを使った開発の基本的な流れは以下のようになります。
- リポジトリからワーキングコピーを「チェックアウト」する。
- ワーキングコピーでファイルの編集や追加を行う。
- 編集が終わったら、変更内容をリポジトリに「コミット」する。
- 他の人がコミットした変更があれば、「アップデート」して自分のワーキングコピーに取り込む。
この一連のサイクルを繰り返しながら開発を進めていきます。
さて、このSVNを使うためには、まず自分のコンピュータにSVNクライアント(リポジトリにアクセスして操作するためのソフトウェア)をインストールする必要があります。そして、もしあなたがサーバーとしてリポジトリを公開したい場合は、SVNサーバーもインストールする必要があります。
この記事では、主にクライアントとしてのインストール方法を中心に解説し、必要に応じて基本的なサーバーのセットアップ方法にも触れます。
インストール前の準備
SVNのインストールを始める前に、いくつかの準備をしておきましょう。
- 使用するOSの確認: Windows、macOS、LinuxのどのOSにインストールするのかを確認してください。OSによって手順が異なります。
- OSのバージョンとアーキテクチャの確認: 使用しているOSが32ビット版か64ビット版かを確認してください。ダウンロードするソフトウェアによっては、32ビット版と64ビット版でファイルが異なります。通常、最近のOSはほとんどが64ビット版ですが、念のため確認しておくと安心です。 (Windowsの場合: 「設定」→「システム」→「バージョン情報」で確認できます。macOS/Linuxの場合: ターミナルで
uname -a
やarch
コマンドなどで確認できます。) - 管理者権限: ソフトウェアのインストールには、通常、コンピュータに対する管理者権限が必要です。ご自身のユーザーアカウントに管理者権限があることを確認してください。会社のPCなど、管理者権限がない場合はシステム管理者にお願いする必要があります。
- インターネット接続: インストーラーのダウンロードや、場合によってはインストール中の追加ファイルのダウンロードにインターネット接続が必要です。
- 既存のSVN環境の確認 (もしあれば): 既にSVNがインストールされているか、または他のバージョン管理システムがインストールされているかを確認してください。特に、システムのPATH環境変数に古いSVNコマンドへのパスが登録されていないか確認することも重要ですが、これはインストール後に問題が発生した場合でも対応できます。
これらの準備が整ったら、いよいよ各OSごとのインストール手順に進みましょう。
WindowsへのSVNインストール
Windows環境でSVNを利用する場合、主に以下の2つの方法があります。
- GUIクライアントのインストール: エクスプローラーに統合されるタイプなど、視覚的に操作できるクライアントです。初心者にとって最も分かりやすく、おすすめです。代表的なものに「TortoiseSVN」があります。
- コマンドラインクライアントのインストール: コマンドプロンプトやPowerShellから
svn
コマンドを使って操作するクライアントです。GUIクライアントと組み合わせて使うことも多いです。代表的なものに「SlikSVN」やApache Subversion公式バイナリ配布サイトのものがあります。
ここでは、最も人気の高いGUIクライアントであるTortoiseSVNのインストール手順を詳しく解説します。
方法1:TortoiseSVN(GUIクライアント)のインストール
TortoiseSVNは、Windowsのエクスプローラーの右クリックメニューにSVNの機能を追加する非常に便利なツールです。ファイルの編集後に右クリックから簡単にコミットしたり、リポジトリからアップデートしたりできます。
ステップ1:TortoiseSVN公式サイトへのアクセス
まず、TortoiseSVNの公式サイトにアクセスします。
URL: https://tortoisesvn.net/downloads.html
ステップ2:インストーラーのダウンロード
ダウンロードページを開くと、様々な言語パックや古いバージョンへのリンクがありますが、まずは最新版のインストーラー本体を探します。
ページの中ほどに「Download」セクションがあります。ここで、使用しているWindowsが64ビット版か32ビット版かに合わせて、対応するインストーラーをダウンロードします。
- Windowsが64ビット版の場合:「
TortoiseSVN-x.y.z.msi
」というファイル名のリンクを探し、クリックしてダウンロードします。(x.y.z
はバージョン番号です。) - Windowsが32ビット版の場合:「
TortoiseSVN-x.y.z-win32-svn-a.b.c.msi
」というファイル名のリンクを探し、クリックしてダウンロードします。
多くの場合、PCの環境に応じて推奨されるバージョンが表示されているので、それを選択すれば間違いありません。ダウンロードが完了するまで待ちます。
ステップ3:インストーラーの実行
ダウンロードした TortoiseSVN-x.y.z.msi
(または TortoiseSVN-x.y.z-win32...msi
) ファイルをダブルクリックして実行します。
セキュリティ警告が表示されることがありますが、「実行」または「はい」を選択して進めます。
ステップ4:インストールウィザードの開始
「Welcome to the TortoiseSVN Setup Wizard」というウィンドウが表示されます。これがインストールウィザードの開始画面です。「Next >」ボタンをクリックして次に進みます。
ステップ5:ライセンス契約の同意
「End-User License Agreement (EULA)」が表示されます。内容をよく読み、同意できる場合は「I accept the terms in the License Agreement」にチェックを入れます。「Next >」ボタンをクリックして次に進みます。
ステップ6:インストール機能の選択(通常はデフォルトでOK)
「Custom Setup」画面が表示されます。ここで、インストールする機能を選択できます。
- “TortoiseSVN”本体: これは必須です。
- “command line client tools”: チェックを入れない場合、TortoiseSVNは主にGUIとして機能します。コマンドプロンプトで
svn
コマンドを使いたい場合は、ここにチェックを入れる必要があります。後からでも追加インストールは可能ですが、最初に入れておくと便利です。(コマンドラインも使う予定がある、または使う可能性がある場合は、この項目をチェックすることをおすすめします。) - “Language Packs”: 他の言語でTortoiseSVNを使用したい場合に選択します。日本語パックは別途ダウンロード・インストールが必要です。
通常、特別な理由がなければ「command line client tools」にチェックを入れる以外はデフォルトのままで問題ありません。「Next >」ボタンをクリックして次に進みます。
ステップ7:インストール先の指定(通常はデフォルトでOK)
「Destination Folder」画面が表示されます。TortoiseSVNをインストールするフォルダーを指定します。デフォルトのインストール先(通常は C:\Program Files\TortoiseSVN\
または C:\Program Files (x86)\TortoiseSVN\
)で問題ありません。変更したい場合は「Change…」ボタンから指定します。
インストールに必要なディスク容量も表示されます。確認して「Install」ボタンをクリックします。
ステップ8:インストール
インストールが開始されます。プログレスバーが表示され、ファイルのコピーや設定が行われます。これには数分かかる場合があります。完了するまで待ちます。
途中でユーザーアカウント制御(UAC)の許可を求められる場合があります。「はい」を選択してインストールを続行してください。
ステップ9:インストール完了
「Completed the TortoiseSVN Setup Wizard」という画面が表示されたらインストールは完了です。通常、「Show the revision log of the TortoiseSVN manual」にチェックが入っていますが、これはチェックを外しても構いません。
「Finish」ボタンをクリックしてインストールウィザードを閉じます。
ステップ10:コンピュータの再起動
TortoiseSVNを正しくシステムに統合するため、コンピュータの再起動が強く推奨されます。特に、エクスプローラーの右クリックメニューにSVN項目が表示されない場合は、再起動が必要です。
開いている全てのアプリケーションを保存し、コンピュータを再起動してください。
ステップ11:インストールの確認
コンピュータが再起動したら、インストールが成功したか確認します。
- エクスプローラーの確認: 適当なフォルダーを開き、何も選択していない状態で右クリックします。コンテキストメニューに「TortoiseSVN」という項目が表示されていれば、GUIクライアントのインストールは成功です。
-
コマンドラインの確認 (CLIツールもインストールした場合): コマンドプロンプトまたはPowerShellを開き、以下のコマンドを入力してEnterキーを押します。
bash
svn --versionSVNのバージョン情報が表示されれば、コマンドラインツールのインストールも成功です。
svn, version x.y.z (日付) ...
(使用しているプラットフォームの情報)
...もし
svn
コマンドが見つからない(「’svn’ は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」のようなエラー)場合は、環境変数PATHが正しく設定されていない可能性があります。多くの場合、TortoiseSVNのインストーラーは自動で設定してくれますが、もし表示されない場合は、C:\Program Files\TortoiseSVN\bin
(またはインストール先) をPATH環境変数に追加する必要があります。
これで、WindowsにTortoiseSVNクライアントのインストールが完了しました。
方法2:SlikSVN(コマンドラインクライアント)のインストール
コマンドラインからSVNを操作したい場合は、SlikSVNがシンプルで導入しやすい選択肢の一つです。TortoiseSVNとは異なり、GUIは提供せず、純粋なコマンドラインツールです。
ステップ1:SlikSVN公式サイトへのアクセス
まず、SlikSVNの公式サイトにアクセスします。
URL: https://sliksvn.com/download/
ステップ2:インストーラーのダウンロード
ダウンロードページには、32ビット版と64ビット版のインストーラーがあります。使用しているWindowsのバージョンに合わせて、対応するものをダウンロードします。
- 「Download SlikSVN-x.y.z-win64.msi」 (64ビット版)
- 「Download SlikSVN-x.y.z-win32.msi」 (32ビット版)
クリックしてダウンロードします。
ステップ3:インストーラーの実行
ダウンロードしたmsiファイルをダブルクリックして実行します。セキュリティ警告が表示されることがありますが、「実行」または「はい」を選択して進めます。
ステップ4:インストールウィザードの開始
「Welcome to the SlikSVN Setup Wizard」が表示されます。「Next >」をクリックします。
ステップ5:ライセンス契約の同意
ライセンス契約が表示されます。同意する場合は「I accept the terms in the License Agreement」にチェックを入れて「Next >」をクリックします。
ステップ6:インストール先の指定(通常はデフォルトでOK)
インストール先を指定します。デフォルトで問題なければそのまま「Next >」をクリックします。
ステップ7:インストールオプションの選択
重要な画面です。「Custom Setup」が表示されます。
- Add SlikSVN to the system PATH for all users: 必ずこの項目にチェックを入れてください。 これにチェックを入れることで、コマンドプロンプトやPowerShellのどこからでも
svn
コマンドが使えるようになります。 - その他は通常デフォルトで構いません。
設定したら「Next >」をクリックします。
ステップ8:インストール
「Install」ボタンをクリックしてインストールを開始します。ユーザーアカウント制御(UAC)が表示されたら許可します。
ステップ9:インストール完了
インストールが完了したら「Finish」をクリックしてウィザードを閉じます。
ステップ10:コンピュータの再起動 (推奨)
PATH環境変数の変更をシステム全体に反映させるため、コンピュータの再起動が推奨されます。
ステップ11:インストールの確認
コンピュータ再起動後、コマンドプロンプトまたはPowerShellを開き、以下のコマンドを入力してEnterキーを押します。
bash
svn --version
SVNのバージョン情報が表示されれば、インストールは成功です。
svn, version x.y.z (日付) ...
(使用しているプラットフォームの情報)
...
これで、WindowsにコマンドラインSVNクライアントのインストールが完了しました。
WindowsでのSVNサーバー構築について
WindowsでSVNサーバーを構築する場合、最も簡単な方法は「VisualSVN Server」を利用することです。これはApacheとSubversionを統合し、管理ツールやユーザー認証機能などを備えたオールインワンパッケージです。
公式サイトからダウンロードしてインストールウィザードに従うだけで、非常に簡単にセキュアなSVNサーバーを構築できます。ただし、詳細な設定や運用についてはこの記事の範囲を超えるため、ここではインストール方法のみ簡単に紹介します。
VisualSVN Serverのインストール (簡易版)
- VisualSVN Server公式サイトにアクセス: https://www.visualsvn.com/download/
- インストーラーをダウンロード: 使用しているWindowsのバージョンに合わせて、最新版のインストーラー(Standard Editionで十分な場合が多い)をダウンロードします。
- インストーラーを実行: ダウンロードしたexeファイルをダブルクリックします。
- ウィザードに従う: ライセンス同意、インストール先、リポジトリ保存先、ポート番号、認証方法(デフォルトはWindows認証)などを設定しながらウィザードを進めます。特別な理由がなければ、デフォルト設定+リポジトリ保存先の指定程度で進めることも可能です。
- インストール完了: インストールが完了すると、VisualSVN Server Managerが起動し、リポジトリ作成やユーザー管理が行えるようになります。
これで、Windows上にSVNサーバーが立ち上がります。クライアントからは、例えば https://YourServerName:PortNumber/svn/RepositoryName
のようなURLでアクセスできるようになります。(ポート番号はインストール時に指定したもの、デフォルトは443などSSLポート)
より詳細な設定やリポジトリの作成、ユーザー・グループ管理については、VisualSVN Serverの公式ドキュメントを参照してください。
macOSへのSVNインストール
macOSでSVNを利用する場合、主に以下の方法があります。
- Homebrewを使ってインストール: macOSで最も一般的なパッケージマネージャーであるHomebrewを使う方法です。シンプルでバージョン管理も容易なのでおすすめです。
- Xcode Command Line Toolsに含まれるものを使う: 古いバージョンですが、XcodeのコマンドラインツールにSVNが含まれている場合があります。
- GUIクライアントのインストール: CornerstoneやSmartSVNなどのGUIクライアントを別途インストールする方法です。
ここでは、最も柔軟で推奨されるHomebrewを使ったインストール方法を解説します。
方法1:Homebrewを使ったインストール
HomebrewはmacOS用のパッケージマネージャーで、様々なソフトウェアを簡単にインストール、管理できます。SVNもHomebrewを使って簡単にインストールできます。
ステップ1:Homebrewのインストール (まだHomebrewをインストールしていない場合)
Homebrewが既にインストールされている場合は、このステップはスキップしてください。
Homebrewの公式サイトにアクセスし、インストールコマンドを確認します。
URL: https://brew.sh/index_ja
トップページに表示されているインストールコマンドをコピーします。通常、以下のようなコマンドです。(バージョンによって異なる場合がありますので、公式サイトで最新を確認してください。)
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
ターミナルアプリケーションを開き、コピーしたコマンドを貼り付けてEnterキーを押します。
実行すると、パスワードの入力や、インストール内容の確認などが求められます。画面の指示に従って進めてください。インストールには少し時間がかかる場合があります。
インストール完了後、ターミナルを再起動するか、指示された通りに eval "$(/opt/homebrew/bin/brew shellenv)"
(Apple Siliconの場合) のようなコマンドを実行して、Homebrewが使える状態にします。
Homebrewが正しくインストールされたか確認するために、ターミナルで以下のコマンドを実行します。
bash
brew doctor
「Your system is ready to brew.」と表示されれば成功です。警告が表示される場合は、表示されたメッセージに従って問題を解決してください。
ステップ2:SVN (Subversion) のインストール
Homebrewが使えるようになったら、ターミナルで以下のコマンドを実行してSubversionをインストールします。
bash
brew install subversion
このコマンドを実行すると、Homebrewが必要なファイルをダウンロードし、Subversionとその依存関係にあるライブラリをインストールします。これもネットワーク環境によって時間がかかる場合があります。
インストールが完了すると、Homebrewはインストールされたファイルのパスや、必要に応じてPATH環境変数に設定すべきパスなどを表示します。多くの場合、Homebrewは自動的にパスを設定してくれるため、特に設定変更は不要です。
ステップ3:インストールの確認
インストールが完了したら、ターミナルで以下のコマンドを実行し、SVNが正しくインストールされたか確認します。
bash
svn --version
SVNのバージョン情報が表示されれば成功です。
svn, version x.y.z (日付) ...
(使用しているプラットフォームの情報)
...
これで、macOSにHomebrewを使ってSVNコマンドラインクライアントのインストールが完了しました。ターミナルから svn
コマンドを使ってSVN操作が行えるようになります。
方法2:Xcode Command Line Toolsを使う (古いバージョン)
macOSには、開発者向けツールであるXcodeに含まれるCommand Line ToolsにSVNクライアントが同梱されている場合があります。ただし、これはシステムに依存し、バージョンが古いことが多いです。Homebrewを使う方が最新版を利用できるため推奨されますが、参考として確認方法を記載します。
ターミナルを開き、以下のコマンドを実行します。
bash
svn --version
もしSVNがインストールされていれば、バージョン情報が表示されます。
svn, version x.y.z (日付) ...
(使用しているプラットフォームの情報)
...
もしインストールされていない場合や、バージョンが古すぎる場合は、Homebrewを使ったインストールを検討してください。Xcode Command Line Toolsをインストールするには、ターミナルで xcode-select --install
コマンドを実行します。これにより、必要な開発ツールがインストールされますが、含まれるSVNのバージョンはOSに依存します。
macOSでのGUIクライアント
macOSには、WindowsのTortoiseSVNに相当するフリーのGUIクライアントはあまり多くありません。有料のものが主流です(例: Cornerstone, SmartSVN)。これらのインストールは、App Storeから購入したり、公式サイトからダウンロードしてアプリケーションフォルダにドラッグ&ドロップするなど、一般的なmacOSアプリケーションのインストール方法と同じです。必要に応じてこれらのクライアントの公式サイトを参照してください。
Homebrewでインストールしたコマンドライン版と組み合わせて、GUIクライアントで視覚的にリポジトリをブラウズしたり、ログを確認したりするという使い方も可能です。
macOSでのSVNサーバー構築について
macOSでSVNサーバーを構築することも可能です。Homebrewでインストールしたsubversion
パッケージには、サーバー機能であるsvnserve
や、Apacheと連携するためのモジュールも含まれています。
最も簡単なのはsvnserve
を使う方法ですが、セキュリティやアクセス制御を考慮すると、Apacheを経由する方法がより一般的です。しかし、Apache連携は設定がやや複雑になるため、初心者向けのこの記事では詳細な手順は割愛します。
基本的なローカルリポジトリを作成し、svnserve
でアクセスできるようにする例は、後の「基本的な使い方」セクションで触れます。本格的なサーバー構築については、別途専門のドキュメントやチュートリアルを参照することをおすすめします。
LinuxへのSVNインストール
Linux環境では、主にパッケージマネージャーを使ってSVNをインストールするのが一般的です。ディストリビューションによって使用するパッケージマネージャーが異なります。主要なディストリビューション(Debian/Ubuntu系、RHEL/CentOS/Fedora系)でのインストール方法を解説します。
Linuxでは、基本的にコマンドラインクライアントがインストールされます。
Debian/Ubuntu系 (apt)
Ubuntu, Debian, Linux MintなどのDebian系のディストリビューションでは、apt
パッケージマネージャーを使用します。
ステップ1:パッケージリストの更新
まず、パッケージリストを最新の状態に更新します。ターミナルを開き、以下のコマンドを実行します。管理者権限が必要なので、sudo
を付けて実行します。
bash
sudo apt update
パスワードを求められたら、ログインユーザーのパスワードを入力してEnterキーを押します。
ステップ2:Subversion (SVN) のインストール
パッケージリストが更新されたら、subversion
パッケージをインストールします。
bash
sudo apt install subversion
インストールするパッケージとその依存関係が表示され、続行するか尋ねられます。[Y]を入力してEnterキーを押すとインストールが開始されます。
ステップ3:インストールの確認
インストールが完了したら、以下のコマンドを実行してSVNが正しくインストールされたか確認します。
bash
svn --version
SVNのバージョン情報が表示されれば成功です。
svn, version x.y.z (日付) ...
(使用しているディストリビューションの情報)
...
これで、Debian/Ubuntu系LinuxにSVNコマンドラインクライアントのインストールが完了しました。
RHEL/CentOS/Fedora系 (yum / dnf)
CentOS Stream, Fedora, AlmaLinux, Rocky LinuxなどのRHEL系のディストリビューションでは、古いシステムではyum
、新しいシステムではdnf
パッケージマネージャーを使用します。基本的な使い方は似ています。
ステップ1:Subversion (SVN) のインストール
ターミナルを開き、以下のコマンドを実行します。管理者権限が必要なので、sudo
を付けて実行します。お使いのディストリビューションに合わせてyum
かdnf
を使用してください。
CentOS/RHEL (古いバージョン), Amazon Linuxなど:
bash
sudo yum install subversion
Fedora, CentOS Stream 8以降, RHEL 8以降など:
bash
sudo dnf install subversion
インストールするパッケージとその依存関係が表示され、続行するか尋ねられます。[y]を入力してEnterキーを押すとインストールが開始されます。
ステップ2:インストールの確認
インストールが完了したら、以下のコマンドを実行してSVNが正しくインストールされたか確認します。
bash
svn --version
SVNのバージョン情報が表示されれば成功です。
svn, version x.y.z (日付) ...
(使用しているディストリビューションの情報)
...
これで、RHEL/CentOS/Fedora系LinuxにSVNコマンドラインクライアントのインストールが完了しました。
LinuxでのSVNサーバー構築について
Linuxでは、インストールしたsubversion
パッケージにサーバー機能(svnserve
コマンド)が含まれています。また、WebサーバーであるApacheと連携してSVNリポジトリを公開することも非常に一般的です。
- svnserve: シンプルなSVN専用プロトコル (
svn://
) を使用します。設定ファイル (svnserve.conf
) で認証やアクセス制御を行います。手軽に始めるにはこれが簡単です。 - Apache (mod_dav_svn): HTTP/HTTPSプロトコル (
http://
,https://
) を使用します。Apacheの強力な認証・認可機能(Basic認証、Digest認証、SSL/TLSなど)を利用できます。インターネット経由でのアクセスや、既存のWebサーバー環境への統合に適しています。設定はApacheの設定ファイル (httpd.conf
や追加のconfファイル) に記述します。
どちらの方法でサーバーを構築するかは、用途やセキュリティ要件によります。ここではsvnserve
を使った最も基本的なサーバー起動方法に触れます。Apache連携は設定が複雑になるため、専門のドキュメントを参照してください。
SVNインストールの確認と基本的な使い方
SVNクライアントのインストールが完了したら、正しく動作するか確認し、簡単な操作を試してみましょう。ここではコマンドラインでの基本的な操作を例に挙げますが、TortoiseSVNなどのGUIクライアントでも同様の操作が可能です。
インストールの再確認
各OSで解説した svn --version
コマンドを実行し、バージョン情報が表示されることを再度確認してください。
- Windows (コマンドプロンプト/PowerShell):
svn --version
- macOS (ターミナル):
svn --version
- Linux (ターミナル):
svn --version
これが表示されれば、クライアントツールは正しくインストールされています。
基本的な使い方:ローカルリポジトリを作成して試す
まだSVNサーバーがない、あるいはリモートのリポジトリにアクセスする前に、自分のPC上にローカルリポジトリを作成してSVNの基本的な操作を試すことができます。
ステップ1:ローカルリポジトリの作成
まず、リポジトリを置くためのディレクトリを作成し、その中に空のリポジトリを作成します。例として、ホームディレクトリにmy_svn_repo
というディレクトリを作成し、その中にリポジトリを作成します。
“`bash
リポジトリを置くディレクトリを作成
mkdir ~/my_svn_repo
そのディレクトリに移動
cd ~/my_svn_repo
空のリポジトリを作成
svnadmin create my_project
“`
svnadmin create my_project
コマンドを実行すると、my_project
という名前のディレクトリが作成され、その中にSVNリポジトリに必要なファイルやディレクトリ(conf, db, hooks, locks, formatなど)が自動的に生成されます。これらのファイルは手作業で編集したり削除したりしないでください。
これで、あなたのローカルPC上に「my_project」という名前のSVNリポジトリが作成されました。このリポジトリへのURLは file:///path/to/your/home/directory/my_svn_repo/my_project
となります。Windowsの場合は file:///C:/Users/YourUsername/my_svn_repo/my_project
のようになります。(パスは環境に合わせて読み替えてください。Windowsではスラッシュ /
を使うのが一般的です。)
ステップ2:リポジトリの構造(トランク、ブランチ、タグ)
SVNリポジトリ内では、一般的に以下のディレクトリ構造を採用することが推奨されています(これは必須ではありませんが、多くのプロジェクトで使われる慣習です)。
trunk
: 開発のメインライン(本流)を置く場所branches
: 新機能開発やバグ修正など、メインラインから分岐した開発ラインを置く場所tags
: 特定のリビジョンに名前を付けて記録しておく場所(リリースバージョンなど、変更しないことを前提としたスナップショット)
この構造を最初からリポジトリ内に作成しておくと便利です。以下の手順で作成できます。
“`bash
リポジトリのURLを指定して、trunk, branches, tagsディレクトリを作成し、コミットする
file:///…/my_svn_repo/my_project の部分は、あなたの環境のリポジトリパスに置き換えてください。
Windowsの場合の例:
svn mkdir file:///C:/Users/YourUsername/my_svn_repo/my_project/trunk file:///C:/Users/YourUsername/my_svn_repo/my_project/branches file:///C:/Users/YourUsername/my_svn_repo/my_project/tags -m “Initial structure”
macOS/Linuxの場合の例:
svn mkdir file:///Users/YourUsername/my_svn_repo/my_project/trunk file:///Users/YourUsername/my_svn_repo/my_project/branches file:///Users/YourUsername/my_svn_repo/my_project/tags -m “Initial structure”
“`
svn mkdir
コマンドは、リポジトリ内に直接ディレクトリを作成し、すぐにコミットするコマンドです。-m
オプションでコミットメッセージを指定します。「Initial structure」は、初期構造を作成したことを示すメッセージです。パスワードなどを聞かれることはありません(fileプロトコルの場合)。
ステップ3:ワーキングコピーのチェックアウト
リポジトリを作成したら、作業を行うためにワーキングコピーをローカルPCの別の場所に「チェックアウト」します。例として、ホームディレクトリにmy_project_wc
というディレクトリを作成し、そこにチェックアウトします。
“`bash
ワーキングコピーを置くディレクトリに移動 (リポジトリディレクトリとは別の場所)
cd ~
リポジトリのtrunkをチェックアウト
リポジトリURLはあなたの環境のものに置き換えてください。
svn checkout file:///Users/YourUsername/my_svn_repo/my_project/trunk my_project_wc
“`
svn checkout [リポジトリURL] [ワーキングコピーのパス]
という形式です。my_project_wc
というディレクトリが作成され、その中にtrunk
の内容がチェックアウトされます。現時点ではtrunk
は空なので、my_project_wc
ディレクトリの中も空です。
bash
Checked out revision 1.
のようなメッセージが表示されれば成功です。リビジョン1は、先ほどtrunk, branches, tagsを作成した際のコミットです。
ステップ4:ファイルをワーキングコピーに追加してコミット
ワーキングコピーで作業を行います。例として、簡単なテキストファイルを作成し、それをリポジトリに追加してみましょう。
“`bash
ワーキングコピーのディレクトリに移動
cd ~/my_project_wc
テストファイルを作成
echo “Hello, SVN!” > hello.txt
ファイルの状態を確認(? はバージョン管理対象外であることを示す)
svn status
“`
svn status
コマンドは、ワーキングコピーの状態を表示します。新しく作成した hello.txt
はまだSVNに認識されていないため、?
と表示されます。
? hello.txt
このファイルをバージョン管理の対象とするために、「追加 (add)」します。
bash
svn add hello.txt
svn add
コマンドを実行すると、SVNにファイルが「追加される予定」としてマークされます。
bash
A hello.txt
再度 svn status
を実行すると、A
と表示されます。これは「追加される予定 (Added)」であることを示します。
A hello.txt
ファイルを追加予定にしたら、その変更をリポジトリに「コミット」します。
bash
svn commit -m "Add initial hello.txt file"
svn commit
コマンドで変更をリポジトリに送信します。-m
オプションでコミットメッセージを指定します。
bash
Adding hello.txt
Transmitting file data .
Committed revision 2.
のようなメッセージが表示されればコミット成功です。「Committed revision 2.」と表示されているように、新しいリビジョンが作成されました(リビジョン1はディレクトリ構造作成、リビジョン2はファイルの追加)。
これで、hello.txt
ファイルがリポジトリに保存され、バージョン管理されるようになりました。
ステップ5:ファイルを編集してコミット
次に、ファイルを編集して変更をコミットしてみましょう。
“`bash
ファイルを編集(例: 末尾に一行追加)
echo “This is a test.” >> hello.txt
ファイルの状態を確認(M は変更されたことを示す)
svn status
“`
svn status
を実行すると、M
と表示されます。これは「変更された (Modified)」ことを示します。
M hello.txt
変更内容をリポジトリにコミットします。
bash
svn commit -m "Add a line to hello.txt"
bash
Sending hello.txt
Transmitting file data .
Committed revision 3.
これで、hello.txt
の変更内容がリビジョン3としてリポジトリに記録されました。
ステップ6:リポジトリのログを確認
これまでのコミット履歴(ログ)を確認できます。
bash
svn log
“`bash
r3 | YourUsername | 2023-10-27 10:00:00 +0900 (金, 27 10月 2023) | 1 line
Add a line to hello.txt
r2 | YourUsername | 2023-10-27 09:55:00 +0900 (金, 27 10月 2023) | 1 line
Add initial hello.txt file
r1 | YourUsername | 2023-10-27 09:50:00 +0900 (金, 27 10月 2023) | 1 line
Initial structure
“`
このように、リビジョン番号、コミットしたユーザー、日時、コミットメッセージなどが表示されます。
ステップ7:ワーキングコピーのアップデート
他のユーザーがリポジトリにコミットした場合(このローカルテストでは自分自身ですが)、その変更を自分のワーキングコピーに取り込むのがアップデート操作です。
bash
svn update
最新の状態であれば、「At revision 3.」のように表示されます。もしリポジトリに新しいコミットがあれば、その変更がワーキングコピーに適用されます。
GUIクライアント (TortoiseSVN) での操作例
WindowsでTortoiseSVNを使っている場合は、これらの操作はもっと視覚的に行えます。
- ローカルリポジトリの作成: エクスプローラーで空のフォルダを作成し、右クリック→「TortoiseSVN」→「Create repository here…」を選択。構造を作成する場合は「Create folder structure」にチェックを入れてOK。
- ワーキングコピーのチェックアウト: 空のフォルダ(チェックアウト先のフォルダ)で右クリック→「SVN Checkout…」を選択。リポジトリのURL(例:
file:///C:/Users/YourUsername/my_svn_repo/my_project/trunk
)を入力してOK。 - ファイルの追加とコミット: ワーキングコピーのフォルダ内でファイルを作成・編集。ファイルやフォルダを右クリックすると、状態に応じてアイコンが変化します(
?
は未管理、!
は競合、緑のチェックは最新、赤のびっくりマークは変更ありなど)。追加したいファイルを右クリック→「TortoiseSVN」→「Add」を選択。その後、フォルダまたはファイルを選択して右クリック→「SVN Commit…」を選択。コミットダイアログで変更されたファイルリストを確認し、コミットメッセージを入力してOK。 - リポジトリのログ確認: ワーキングコピーのフォルダで右クリック→「TortoiseSVN」→「Show log」を選択。
- ワーキングコピーのアップデート: ワーキングコピーのフォルダで右クリック→「SVN Update」を選択。
このように、GUIクライアントを使うと、コマンドを覚える必要なく直感的に操作できます。
リモートリポジトリへの接続
多くの場合、SVNはネットワーク上の共有リポジトリにアクセスして利用します。インストールしたクライアントを使って、既存のSVNリポジトリに接続する方法を解説します。
リモートリポジトリへの接続には、リポジトリのURLが必要です。SVNリポジトリのURLは、使用されているプロトコルによっていくつかの形式があります。
file:///path/to/repository
: ローカルファイルシステム上のリポジトリにアクセスする場合(前述のローカルテスト)。svn://hostname/path/to/repository
: SVN専用プロトコル (svnserve
) を使用する場合。認証なし、またはSVN独自の認証を使用。svn+ssh://hostname/path/to/repository
: SSHトンネル経由でSVNプロトコルを使用する場合。SSH認証を使用。http://hostname/path/to/repository
: ApacheなどのWebサーバー経由でアクセスする場合。Webサーバーの認証(Basic認証など)を使用。https://hostname/path/to/repository
: SSL/TLSで暗号化されたHTTP経由でアクセスする場合。Webサーバーの認証とSSL証明書を使用。VisualSVN Serverは通常この形式です。
接続方法は、使用するクライアント(コマンドラインかGUIか)によって異なります。
コマンドラインクライアントでの接続
基本的な操作は、ローカルリポジトリの場合と同じですが、リポジトリURLにリモートのURLを指定します。
- チェックアウト:
bash
svn checkout svn://example.com/myproject/trunk /path/to/your/workingcopy
# または
svn checkout https://svn.example.com/repos/myproject/trunk /path/to/your/workingcopy
初めて接続する場合、サーバーの証明書の警告やユーザー名・パスワードの入力を求められることがあります。 - アップデート:
bash
cd /path/to/your/workingcopy
svn update - コミット:
bash
cd /path/to/your/workingcopy
# ファイルの追加・編集・削除など...
svn commit -m "Your commit message"
GUIクライアント (TortoiseSVN) での接続
- チェックアウト: エクスプローラーでワーキングコピーを作成したい空のフォルダを開き、右クリック→「SVN Checkout…」を選択します。表示されるダイアログの「URL of repository」にリモートリポジトリのURLを入力し、「Checkout directory」が正しいことを確認してOKをクリックします。
(画像はTortoiseSVN公式ドキュメントより引用のイメージです。実際の画面とは異なる場合があります。) - アップデート: ワーキングコピーのフォルダ(またはファイル)を右クリック→「SVN Update」を選択します。
- コミット: ワーキングコピーのフォルダ(またはファイル)を右クリック→「SVN Commit…」を選択します。表示されるダイアログで変更されたファイルを確認し、コミットメッセージを入力してOKをクリックします。
どのクライアントを使う場合でも、リモートリポジトリへのアクセスには、ネットワーク接続と適切な認証情報(ユーザー名、パスワード、SSHキーなど)が必要です。サーバー管理者から提供される情報を確認してください。
トラブルシューティング
SVNのインストールや使用中に遭遇する可能性のある一般的な問題とその解決策をいくつか紹介します。
svn
コマンドが見つからない (Windows):- TortoiseSVNやSlikSVNのインストール時に「command line client tools」または「Add SlikSVN to the system PATH」にチェックを入れ忘れていないか確認してください。
- インストール後にコンピュータを再起動しましたか?PATH環境変数の変更をシステムに反映させるには再起動が必要です。
- 手動で環境変数PATHにSVNの実行ファイルがあるディレクトリ(例:
C:\Program Files\TortoiseSVN\bin
や SlikSVNのインストール先)を追加してください。
svn
コマンドが見つからない (macOS/Linux):- Homebrew (
brew install subversion
) またはパッケージマネージャー (sudo apt install subversion
/sudo yum install subversion
) で正しくインストールが完了しましたか?エラーが出ていないか確認してください。 - Homebrewの場合、インストール後のメッセージでPATHの設定が必要と表示されていませんでしたか?指示に従って
eval "$(/opt/homebrew/bin/brew shellenv)"
のようなコマンドを実行するか、シェル設定ファイル(例:.bashrc
,.zshrc
)に追記してください。 - ターミナルを再起動してみてください。
- Homebrew (
- リポジトリへのアクセスが拒否される (認証エラー):
- ユーザー名やパスワードが間違っている可能性があります。再度確認して入力してください。
- サーバー側でアクセス権限が設定されている場合があります。リポジトリ管理者にご確認ください。
- リポジトリに接続できない (ネットワークエラー):
- リポジトリURLが正しいか確認してください。
- サーバーが起動しているか、ネットワークが繋がっているか確認してください。
- ファイアウォールがSVNが使用するポートをブロックしている可能性があります。SVN://プロトコルはデフォルトで3690ポート、HTTP/HTTPSは80/443ポートを使用します。サーバー側、クライアント側、またはネットワーク上のファイアウォール設定を確認してください。
- 「Working copy ‘…’ locked」エラー:
- 前回のSVN操作が中断されたり失敗したりした場合に、ワーキングコピーがロックされることがあります。ワーキングコピーのディレクトリで
svn cleanup
コマンドを実行してロックを解除してください。(TortoiseSVNの場合は、ワーキングコピーのフォルダで右クリック→「TortoiseSVN」→「Clean up…」です。)
- 前回のSVN操作が中断されたり失敗したりした場合に、ワーキングコピーがロックされることがあります。ワーキングコピーのディレクトリで
- 「Conflict」エラー:
- 他のユーザーが同じファイル、同じ箇所を編集してコミットし、その変更を自分がアップデートしようとしたりコミットしようとしたりすると発生します。競合が発生したファイルを手動で編集して、自分の変更と相手の変更を統合(マージ)する必要があります。競合マーカー(
<<<<<<<
,=======
,>>>>>>>
など)を目印に編集し、競合を解消したらsvn resolved [ファイル名]
コマンドを実行してからコミットしてください。TortoiseSVNなどのGUIクライアントには、競合解消をサポートするマージツールが搭載されています。
- 他のユーザーが同じファイル、同じ箇所を編集してコミットし、その変更を自分がアップデートしようとしたりコミットしようとしたりすると発生します。競合が発生したファイルを手動で編集して、自分の変更と相手の変更を統合(マージ)する必要があります。競合マーカー(
問題が解決しない場合は、エラーメッセージを正確にコピーして、SVNの公式ドキュメントや関連フォーラム、Q&Aサイト(Stack Overflowなど)で検索してみることをお勧めします。
まとめと次のステップ
この記事では、SVN(Subversion)の基本的な概念から、Windows、macOS、Linuxという主要な3つのOSへの具体的なインストール手順、そして簡単な使い方とトラブルシューティングについて、約5000語にわたって詳細に解説しました。
このガイドを参考に、あなたの環境にSVNクライアント(そして必要であればサーバー)をインストールし、基本的なバージョン管理操作を試すことができたはずです。インストールはSVN活用の第一歩です。
SVNには、ここで触れられなかった多くの機能があります。例えば:
- ブランチとマージ: 複数の開発ラインを並行して進めたり、それらを統合したりする方法。
- タグ: 特定のリビジョンに分かりやすい名前を付けて記録しておく方法。
- プロパティ: ファイルやディレクトリにSVN固有の属性(無視リスト、改行コードの扱いなど)を設定する方法。
- 認証と認可: サーバーで誰がどのリポジトリにアクセスできるか、どのような操作(読み取り、書き込み)が可能かを制御する方法。
- フック: 特定のSVNイベント(コミット前、コミット後など)で自動的にスクリプトを実行する仕組み。
- リポジトリのバックアップと復旧: 大切な資産であるリポジトリを守るための方法。
これらのより進んだ機能や、あなたのチームやプロジェクトに最適なSVNのワークフローについては、さらに学習を進めることをお勧めします。
学習のためのリソース:
- The Apache Subversion Project 公式サイト: https://subversion.apache.org/ (英語ですが、最も正確で最新の情報源です)
- Version Control with Subversion (邦訳: 実践Subversion): SVNの公式ドキュメントであり、非常に包括的なガイドです。オンラインで無料で読むことができます。
- 英語版: https://svnbook.red-bean.com/
- 日本語版 (少し古い可能性があります): 「実践Subversion」で検索して探してみてください。
- 使用しているSVNクライアント(TortoiseSVNなど)の公式ドキュメント: 各クライアント固有の使い方や設定について詳しく解説されています。
バージョン管理システムを使いこなすことは、現代の開発者にとって必須のスキルです。SVNは歴史があり、安定した選択肢の一つです。この記事が、あなたのSVN活用の強力な一助となれば幸いです。
インストールが完了したら、ぜひ積極的に触ってみてください。実際にコードを書いて、コミットして、アップデートして、その便利さを実感することが、習得への一番の近道です。
これで、【決定版】SVN インストール手順の解説は終了です。長い記事にお付き合いいただき、ありがとうございました。あなたの開発がSVNによってさらに効率的になることを願っています!