9router/gitbook/content/ja/getting-started/installation.md
2026-05-11 11:50:24 +07:00

8.9 KiB

インストール

トラブルシューティングのヒント付きの9Router詳細インストールガイド。


要件

システム要件

  • Node.js: バージョン 20.0.0以上
  • npm: バージョン 10.0.0以上 (Node.jsに付属)
  • OS: macOS、Linux、Windows (WSL推奨)
  • ディスク容量: インストールに約200MB

バージョンを確認

node --version
# v20.x.x以上が表示されるはず

npm --version
# 10.x.x以上が表示されるはず

Node.jsがない場合? nodejs.orgからインストール


インストール方法

方法1: グローバルインストール (推奨)

どこからでも使用できるように9Routerをグローバルインストール:

npm install -g 9router

9Routerを起動:

9router

利点:

  • どのディレクトリからでも実行
  • シンプルなコマンド: 9router
  • npm update -g 9router で自動更新

方法2: ローカルインストール

特定のプロジェクトにインストール:

mkdir my-9router
cd my-9router
npm install 9router

9Routerを起動:

npx 9router

利点:

  • プロジェクトごとに分離
  • プロジェクトごとのバージョン管理
  • グローバル名前空間の汚染なし

方法3: ソースから (開発)

GitHubからクローンしてビルド:

git clone https://github.com/decolua/9router.git
cd 9router/app
npm install
npm run build
npm start

利点:

  • 最新の開発機能
  • 開発に貢献可能
  • カスタム変更

初回実行

サーバーを起動

9router

何が起こるか:

  1. サーバーが http://localhost:20128 で起動
  2. ダッシュボードが自動的にブラウザで開く
  3. ~/.9router にデータディレクトリが作成される
  4. APIキーが自動生成される

ダッシュボードログイン

デフォルト認証情報:

  • パスワード: 123456

⚠️ パスワードをすぐに変更:

  1. ダッシュボードにログイン
  2. Settings → Change Password
  3. 強力なパスワードを使用

APIキーを取得

Dashboard → Settings → API Keys
→ APIキーをコピー
→ CLIツールで使用

APIキー形式の例:

9r_1234567890abcdef1234567890abcdef

インストールを確認

サーバーステータスを確認

curl http://localhost:20128/health

期待されるレスポンス:

{
  "status": "ok",
  "version": "1.0.0"
}

利用可能なモデルを一覧表示

curl http://localhost:20128/v1/models \
  -H "Authorization: Bearer your-api-key"

期待されるレスポンス:

{
  "object": "list",
  "data": [
    {
      "id": "cc/claude-opus-4-5-20251101",
      "object": "model",
      "created": 1234567890,
      "owned_by": "claude-code"
    }
  ]
}

チャットコンプリーションをテスト

curl http://localhost:20128/v1/chat/completions \
  -H "Authorization: Bearer your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "cc/claude-opus-4-5-20251101",
    "messages": [
      {"role": "user", "content": "Hello!"}
    ]
  }'

設定

環境変数

.env ファイルを作成するか、環境変数を設定:

# セキュリティ (本番環境では必須)
export JWT_SECRET="your-secure-secret-change-this"
export INITIAL_PASSWORD="your-password"

# ストレージ
export DATA_DIR="~/.9router"

# サーバー
export PORT="20128"
export NODE_ENV="production"

# ロギング
export ENABLE_REQUEST_LOGS="false"

データディレクトリ

デフォルトの場所: ~/.9router

内容:

~/.9router/
  ├── db.json           # データベース (プロバイダー、コンボ、使用量)
  ├── api-keys.json     # APIキー
  └── logs/             # リクエストログ (有効化されている場合)

場所を変更:

export DATA_DIR="/custom/path"
9router

ポート設定

デフォルトポート: 20128

ポートを変更:

export PORT="3000"
9router

またはコマンドラインで:

9router --port 3000

トラブルシューティング

ポートがすでに使用されている

エラー:

Error: listen EADDRINUSE: address already in use :::20128

解決策1: 既存のプロセスを終了

# ポート20128を使用しているプロセスを検索
lsof -i :20128

# プロセスを終了
kill -9 <PID>

解決策2: 別のポートを使用

9router --port 3000

Permission Denied

エラー:

Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/9router'

解決策: sudoを使用 (非推奨) またはnpm権限を修正

# npm権限を修正 (推奨)
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

# 再度インストール
npm install -g 9router

Node.jsバージョンが古すぎる

エラー:

Error: The engine "node" is incompatible with this module

解決策: Node.jsを更新

# nvmを使用 (推奨)
nvm install 20
nvm use 20

# またはnodejs.orgからダウンロード

ダッシュボードが開かない

問題: ダッシュボードが自動的に開かない

解決策1: 手動で開く

http://localhost:20128

解決策2: ファイアウォールを確認

# macOS: システム環境設定 → セキュリティでNode.jsを許可
# Linux: iptablesを確認
# Windows: Windowsファイアウォールを確認

プロバイダーに接続できない

問題: OAuthログインが失敗、またはAPIキーが無効

解決策1: インターネット接続を確認

ping google.com

解決策2: プロバイダーのステータスを確認

解決策3: APIキーを再生成

Dashboard → Provider → Disconnect → Reconnect

高メモリ使用量

問題: 9RouterがRAMを使いすぎている

解決策: サーバーを再起動

# 停止
pkill -f 9router

# 起動
9router

または自動再起動にPM2を使用:

npm install -g pm2
pm2 start 9router --name 9router
pm2 save

デプロイメントオプション

ローカル開発

npm install -g 9router
9router

ユースケース: 個人コーディング、テスト

VPS/クラウドサーバー

# インストール
npm install -g 9router

# 設定
export JWT_SECRET="your-secure-secret"
export INITIAL_PASSWORD="your-password"
export NODE_ENV="production"

# PM2で起動
npm install -g pm2
pm2 start 9router --name 9router
pm2 save
pm2 startup

ユースケース: チームアクセス、リモートコーディング

Docker

docker pull 9router/9router:latest

docker run -d \
  -p 20128:20128 \
  -e JWT_SECRET="your-secure-secret" \
  -e INITIAL_PASSWORD="your-password" \
  -v 9router-data:/root/.9router \
  --name 9router \
  9router/9router:latest

ユースケース: コンテナデプロイ、Kubernetes

リバースプロキシ (Nginx)

server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass http://localhost:20128;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        
        # SSE support for streaming
        proxy_buffering off;
        proxy_read_timeout 86400;
    }
}

ユースケース: HTTPS、カスタムドメイン、ロードバランシング


アンインストール

グローバルインストールを削除

npm uninstall -g 9router

データディレクトリを削除

rm -rf ~/.9router

設定を削除

# シェル設定から環境変数を削除
nano ~/.bashrc  # または ~/.zshrc
# 9router関連のエクスポートを削除

次のステップ


ヘルプが必要?