.servbay.configファイルによるプロジェクト単位の環境構成 
概要 
ServBayは強力なローカルWeb開発環境ツールであり、異なるプロジェクトごとに独立した実行環境を設定できます。この機能の中心となるのが、各プロジェクトディレクトリ内に作成できる .servbay.config という名前のファイルです。
.servbay.config ファイルによって、特定のプロジェクトごとに必要なPHPやNode.js、Python、Go、Javaなどの言語バージョンを指定したり、Node.jsのパッケージマネージャ(NPM、Yarnなど)のレジストリURLやキャッシュディレクトリなどの設定が簡単に行えます。このプロジェクト単位の細やかな制御により、開発効率と利便性が大きく向上し、各プロジェクトが必要な特定バージョン環境で安定して動作できるので、バージョン競合のトラブルも避けられます。
.servbay.configファイルの動作原理 
ServBayがウェブサイトを起動・再読み込みする際、サイトのルートディレクトリ内に .servbay.config ファイルが存在するかをチェックします。存在する場合、そのファイル内の設定を読み取り、該当サイトの実行環境へ適用します。これらのプロジェクト単位の設定は、ServBayのグローバル設定よりも優先されます。もし .servbay.config が存在しなかったり、設定項目が未記入の場合は、グローバル設定がデフォルト値として用いられます。
この仕組みにより、プロジェクトごとに環境構成を持たせることで、プロジェクト間の切り替えがシームレス&ストレスフリーになります。
.servbay.configの作成・設定方法 
.servbay.config ファイルの作成・設定手順は非常に簡単です。
ファイル設置場所 
あなたのプロジェクトのルートディレクトリに .servbay.config という名前でファイルを作成します。通常はServBayで指定したサイトの保存場所、例: /Applications/ServBay/www/あなたのプロジェクト名/ に置きます。
設定記述の書き方 
.servbay.config ファイルはシンプルな KEY=VALUE 形式で設定を記載し、1行に1項目ずつ記載します。また # をつけてコメントを書き、可読性を高めることも可能です。
設定例 
以下は、複数の環境バージョンやパッケージマネージャの設定を記述した .servbay.config ファイルの例です。
bash
# .servbay.config サンプルファイル
# 利用するPHPのバージョンを指定。ServBayで該当バージョンがインストール済みであることを確認してください。
PHP_VERSION=8.5
# 利用するNode.jsバージョンの指定。ServBayで該当バージョンがインストール済みであること。
NODE_VERSION=20
# YarnのレジストリURL設定。依存パッケージのダウンロードを高速化。
YARN_CONFIG_REGISTRY=https://npmreg.proxy.ustclug.org/
# NPMのレジストリURL設定。依存パッケージのダウンロードを高速化。
NPM_CONFIG_REGISTRY=https://npmreg.proxy.ustclug.org/
# NPMローカルキャッシュディレクトリの指定。注意:このパスはServBayのインストールディレクトリを基準にしています。
NPM_CONFIG_CACHE=/Applications/ServBay/tmp/npm/cache
# Yarnローカルキャッシュディレクトリの指定。注意:このパスはServBayのインストールディレクトリを基準にしています。
YARN_CONFIG_CACHE=/Applications/ServBay/tmp/yarn/cache
# Rubyバージョンの指定。ServBayで該当バージョンがインストール済みであること。
RUBY_VERSION=2.7
# Java(OpenJDK)バージョンの指定。ServBayで該当バージョンがインストール済みであること。
JAVA_VERSION=21
# Pythonバージョンの指定。ServBayで該当バージョンがインストール済みであること。
PYTHON_VERSION=3.11
# .NETバージョンの指定。ServBayで該当バージョンがインストール済みであること。
DOTNET_VERSION=5.0
# Goバージョンの指定。ServBayで該当バージョンがインストール済みであること。
GO_VERSION=1.12
# Goモジュールプロキシサーバーの設定。モジュール取得を高速化。
GOPROXY=https://goproxy.cn,direct1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
注意: 上記のバージョン番号(PHP_VERSION=8.5、NODE_VERSION=20など)は例示用です。実際には、あなたのプロジェクト要件やServBayにインストール済みかつサポート対象のバージョンを指定してください。未インストールのバージョンを指定した場合は、ServBay がデフォルトバージョンを利用するかエラーが表示されます。
設定可能な項目について 
上述の例に基づき、.servbay.config ファイルで主に以下の種類の設定が利用できます。
- 実行環境バージョン指定: - PHP_VERSION: 利用するPHPバージョンの指定
- NODE_VERSION: Node.jsバージョンの指定
- RUBY_VERSION: Rubyバージョンの指定
- JAVA_VERSION: Java(OpenJDK)バージョンの指定
- PYTHON_VERSION: Pythonバージョンの指定
- DOTNET_VERSION: .NETバージョンの指定
- GO_VERSION: Goバージョンの指定
- (現在サポートされているすべての環境種別および変数名はServBayの公式ドキュメントやアプリ画面をご確認ください)
 
- パッケージマネージャ(Node.js関連): - YARN_CONFIG_REGISTRY: YarnのレジストリURL
- NPM_CONFIG_REGISTRY: NPMのレジストリURL
- NPM_CONFIG_CACHE: NPMローカルキャッシュディレクトリパス
- YARN_CONFIG_CACHE: Yarnローカルキャッシュディレクトリパス
 
- Goモジュールプロキシ設定: - GOPROXY: GoモジュールプロキシサーバーのURL
 
これらの設定により、プロジェクトごとに独立した環境を用意でき、他のプロジェクトと衝突することはありません。
実用的な適用方法と検証 
.servbay.config ファイルを設定したら、ServBayのサイト一覧に対象プロジェクトが登録されている(「サイト」リストに存在している)ことを確認してください。再読み込みや起動時に設定ファイルが読み込まれます。
設定が正しく反映されているかの確認方法は以下の通りです。
- ServBayアプリ画面から確認: サイトの詳細画面や関連ビューで現在の環境バージョン表示を確認できる場合があります。 
- コマンドラインで確認: ServBayアプリのターミナル機能を利用し、カレントディレクトリをプロジェクトルートに切り替えます。その上で、次のようなバージョン確認コマンドを実行します。 - PHPバージョン: php -v
- Node.jsバージョン: node -v
- Yarnバージョン: yarn -v
- NPMバージョン: npm -v
- Pythonバージョン: python -Vまたはpython3 -V
- Goバージョン: go version
- Javaバージョン: java -version
- .NETバージョン: dotnet --version
- Rubyバージョン: ruby -v出力されたバージョンが.servbay.configで指定したものと一致しているか確認してください。
 
- PHPバージョン: 
- ウェブページで確認(PHPの場合): プロジェクトのルートディレクトリに - info.phpのようなPHPファイルを作成し、内容を- <?php phpinfo(); ?>とします。ブラウザで(例:- http://your-project.servbay.demo/info.php)このファイルを開き、- phpinfoの出力から実際のPHPバージョンが指定通りか確認します。
以下は、ServBayアプリ上でプロジェクト単位の設定が適用されている様子の例です。

(詳しい動作表示や出力内容についてはServBayアプリの実際の画面をご確認ください。)
注意事項 
- .servbay.configのファイル名は完全一致である必要があります。綴りミスがないようにしてください。
- プロジェクトのルートディレクトリに配置してください。
- 設定したバージョンは、ServBayで事前にインストール済みでかつサポート対象でなければなりません。
- 設定項目ごとに改行し、1行に KEY=VALUE形式で記述します。
- 記述ミスや文法エラーがあるとファイルが無視されたり、該当設定が反映されない可能性があります。
- .servbay.configで指定した内容はServBayのグローバル設定を上書きし、該当プロジェクトにのみ適用されます。
よくある質問 (FAQ) 
Q: プロジェクトのルートディレクトリに .servbay.config がない場合はどうなりますか?
A: ファイルがない場合、ServBayはアプリ上で設定されたグローバル環境設定を適用してプロジェクトを実行します。
Q: .servbay.config にServBay未インストールのバージョンを記載した場合は?
A: ServBayがエラーを表示します。実際の挙動はバージョンや設定によって異なりますが、指定したバージョンを利用するためには、必ずServBayアプリから先にインストールしてください。
Q: .servbay.config を編集した後にServBayの再起動は必要ですか?
A: 通常は、設定を変更した後にServBayアプリで該当サイトを再読み込みする、または一旦停止して再起動するだけで反映されます。アプリ自体の完全な再起動は不要です。
Q: .servbay.config ファイルの設定が他のプロジェクトに影響しますか?
A: 影響しません。.servbay.config はプロジェクト専用の設定であり、設定したServBayサイトディレクトリにのみ有効です。
まとめ 
.servbay.config ファイルを活用することで、ServBayは開発者に対し強力なプロジェクト単位の環境管理を提供します。特定の旧バージョン環境が必要なレガシープロジェクトの保守でも、最新技術スタックでの新規開発でも、このファイルを設定するだけで柔軟かつ迅速に環境を切り替え・分離でき、ローカル開発作業の効率と柔軟性が大幅に向上します。ぜひこの機能を活用して、より快適な開発ワークフローを実現しましょう。
