インストール
OAR は自分のマシンで動かすリレーです。インストールすると、そのマシンで oar コマンドが使えるようになります。macOS と Linux では 1 行ですべてが済みます。Node.js を見つけるか取得し、OAR をインストールし、設定ファイルを書き込み、リレーを起動します。Windows では、インストーラーを使うには Node.js がすでに入っている必要があります。どの環境でも、npm や git チェックアウトからインストールすることもできます。
必要なもの #
| 要件 | 必要な場面 | 補足 |
|---|---|---|
| macOS、Linux、Windows、または WSL | リレーのホスト | macOS と Linux のインストーラーは、x64 と arm64 の CPU 向けに Node.js を取得できます。WSL では Linux のインストーラーを使います |
| Node.js 22.13 以降 | 常に | macOS と Linux のインストーラーは、Node.js がないか古すぎる場合に専用のコピーをダウンロードします。Windows のインストーラーは確認するだけです |
| tmux(任意) | Linux と macOS | セッションワーカーはデタッチされた tmux セッションで動作し、ブラウザーから様子を確認できます。tmux がない場合は通常のバックグラウンドプロセスとして動作します。Windows では tmux を使いません |
cloudflared(任意) |
組み込みの Cloudflare トンネル | OAR には同梱されていません。自分でインストールしてください |
| プロバイダーの CLI またはキー(任意) | そのプロバイダーとのチャット | プロバイダーごとにサインイン方法が異なります。プロバイダーのページを参照してください |
インストールに必要なものはこれだけです。プロバイダーは OAR が動き始めてから追加します。
macOS と Linux #
curl -fsSL oar.sh/install | sh
スクリプトの内容は、先に oar.sh/install で確認できます。curl または wget が必要で、Node.js を取得する場合は tar も必要です。root では実行できません。OAR はユーザーごとにインストールされ、root が必要な処理はありません。
インストーラーの動作 #
- マシンの状態を調べ、計画を表示します。使う Node.js、OAR のインストール先、シェルのプロファイルに書き込む内容、リレーの起動方法です。
Continue? [Y/と尋ねます。Enter またはn] yで続行し、それ以外の答えでは何も変更しません。- パッケージ
@oar-をインストールします(バージョンやチャンネルを固定しない限り、最新のリリースです)。sh/ oar oar setup --defaults --startを実行します。設定ファイル(新しい認証トークン、このマシンのみのアクセス、3333 以降で最初に空いているポート、またはOAR_で指定したポート)を書き込み、リレーを起動します。リレーの URL と QR コードを表示します。PORT - バージョンを表示し、リレーが実行中であることを伝え、コマンド
oar、oar setup、oar doctorを一覧表示します。
systemd のユーザーセッションがある Linux では、リレーは systemd のユーザーサービスとして起動するため、再起動後も自動で戻ります。それ以外の環境(macOS、コンテナー、systemd のない WSL)ではバックグラウンドで起動し、再起動後は oar start でもう一度起動します。
インストール先 #
次の 3 つのどれに当たるかは、マシンにある Node.js によって決まります。
| マシンの状態 | インストーラーの動作 |
|---|---|
| Node.js 22.13 以降があり、書き込み可能なグローバル npm フォルダーがある(nvm、fnm、Homebrew、ユーザープレフィックス) | 手動の場合と同じように npm install -g を実行します |
| Node.js 22.13 以降があるが、グローバル npm フォルダーに root が必要(ディストリビューションや NodeSource のパッケージ) | 既存の Node.js でパッケージを ~/. にインストールし、oar コマンドを ~/. に置きます。npm の設定は変更しません |
Node.js がない、22.13 より古い、npm のない Node.js、または OAR_ |
現在の Node.js 24 を nodejs.org から ~/. にダウンロードし(チェックサムを検証、約 30 MB)、それを使ってパッケージを ~/. にインストールし、oar コマンドを ~/. に置きます |
OAR 専用の Node.js を使うのは OAR だけです。~/. にある oar コマンドは、その Node.js を PATH の最後に置くため、リレーのセッションでは自分の Node.js が引き続き優先されます。
後の 2 つの場合で ~/. が PATH にないときは、インストーラーはその変更を計画に含め、シェルの起動ファイルにコメント行(# added by the OAR installer)と export PATH の行を追加します。起動ファイルは、zsh では ~/.、macOS の bash では ~/.、Linux の bash では ~/.、それ以外では ~/. です。新しいターミナルでは oar が見つかります。現在のターミナルでは、インストーラーが表示する export PATH=... の行を実行してください。
オプション #
フラグは sh -s -- の後に、変数は sh の前に置きます。
| オプション | 効果 |
|---|---|
--yes、-y |
確認の質問を省略します。スクリプトや CI で使います |
OAR_ |
--yes と同じです |
OAR_ |
最新版の代わりにそのバージョンをインストールします |
OAR_ |
stable チャンネルの代わりに beta チャンネルからインストールします。それ以外の値は stable を意味します。OAR_ が優先されます |
OAR_ |
設定ファイルにリレーのポートを設定します |
OAR_ |
自分の Node.js で足りる場合でも、~/. にある OAR 専用の Node.js を使います |
OAR_ |
計画を表示するだけで、何もインストールしません |
それ以外のフラグを指定すると、インストーラーは unknown option を表示して停止します。
curl -fsSL oar.sh/install | sh -s -- --yes
curl -fsSL oar.sh/install | OAR_VERSION=0.9.19 OAR_PORT=3400 sh
curl -fsSL oar.sh/install | OAR_DRY_RUN=1 sh
もう一度実行する #
インストーラーはいつでも再実行できます。パッケージをもう一度インストールする(固定しない限り最新のリリース)ため、更新にも使えます。既存の設定ファイルは保持し、OAR 専用の Node.js が十分新しければ再利用し、oar ランチャーを書き直します。プロファイルへの PATH の行の追加は 1 回だけです。
ターミナルなしで実行する #
curl からパイプで渡した場合も、スクリプトはターミナルで質問します。CI ジョブなどターミナルがない場合は、no terminal to ask on を表示して停止し、何も変更しません。その場合は --yes を指定してください。
インストーラーが停止するケース #
- Alpine などの musl システム向けや、x64 と arm64 以外の CPU 向けの Node.js ビルドはありません。Node.js 22.13 以降を自分でインストールしてから、インストーラーをもう一度実行してください。
- nodejs.org に接続できない場合、ダウンロードやチェックサムの検証に失敗した場合、ダウンロードした Node.js が動かない場合は、停止して何もインストールしません。
- 0.9.8 より前のリリースも同じ方法でインストールできますが、その
oar setupはリレーを起動できません。その場合、インストーラーは設定ファイルを書き込むだけで、リレーは起動しません。
Windows #
irm oar.sh/install.ps1 | iex
PowerShell 5 以降と、インストール済みの Node.js 22.13 以降が必要です。macOS と Linux のインストーラーとは異なり、Node.js の取得、確認の質問、リレーの起動は行いません。行うのは次のことです。
nodeとnpmがあり、Node.js が十分新しいことを確認します。- 計画を表示します。
npm install -g --allow-を実行します。scripts= @oar- sh/ oar, better- sqlite3, koffi @oar- sh/ oar oar setupを実行します。ターミナルでは、新しい認証トークンを作るかどうか、アクセス(このマシンのみ、または LAN)、ポート、そして 0.9.15 で追加 リレーの起動方法を尋ねます。起動方法は、サインイン時、誰かがサインインする前の起動時(管理者の確認が 1 回)、または起動しない、のいずれかです。その後、設定ファイルを書き込み、リレーの URL を表示します。
その後、oar start を実行してリレーを起動します。選んだ自動起動の設定により、次回のサインイン時または起動時にリレーが起動します。モードは後から oar autostart で変更できます。次の手順は初回起動にあります。
| オプション | 効果 |
|---|---|
$env: |
最新版の代わりにそのバージョンをインストールします |
$env: |
stable チャンネルの代わりに beta チャンネルからインストールします |
$env: |
計画を表示するだけで、何もインストールしません |
変数は、コマンドを実行する前に同じ PowerShell ウィンドウで設定してください。Windows のインストーラーには OAR_ がありません。ポートは oar setup で尋ねられます。oar setup --port <port> を実行して指定することもできます。
PowerShell がスクリプトをブロックする場合
Windows PowerShell の既定の実行ポリシーは . のシムを拒否するため、インストーラーは npm と oar の . シムを呼び出します。ポリシーが Restricted または All の場合は、最後にその旨を表示します。oar の代わりに oar. と入力するか、ローカルスクリプトを一度許可してください。
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
インストールは成功したのに oar が見つからない場合は、新しいターミナルを開いてから oar. を実行してください。
npm #
npm install -g --allow-scripts=@oar-sh/oar,better-sqlite3,koffi @oar-sh/oar
oar setup
npm 12 は、許可されていないインストールスクリプトを実行しません。OAR の依存関係のうち 2 つ(better-sqlite3、koffi)は、インストールスクリプトでネイティブバイナリを取得します。これらがないと、npm 12 ではインストールは成功しても、その後リレーが起動しません。0.9.14 で追加 OAR 自身のスクリプト(@oar-)は、npm がパッケージを削除する前に、以前のバージョンがパッケージ内に保存していたデータをコピーします。0.9.14 のアップグレードの注意点を参照してください。npm 10 と 11 はこのフラグを受け付けますが、必要ありません。インストーラー、oar update、Update(更新)ボタンは、このフラグを自動で渡します。
--ignore-scripts でインストールや更新をしないでください
--ignore- はすべてのインストールスクリプトを省略します。ネイティブモジュールが取得されないためリレーが起動できず、以前のバージョンのデータのコピーも行われません。
oar setup は設定ファイルを作成してリレーの URL を表示しますが、--start を指定しない限りリレーは起動しません。その後 oar start を使ってください。npm のグローバルフォルダーは書き込み可能で、その bin フォルダーが PATH に含まれている必要があります。場所は npm prefix -g で確認できます。root が必要な場合は sudo を使わず、macOS や Linux ではインストーラーを実行してください。後で更新するには oar update を実行します。
git チェックアウトから #
git clone https://github.com/oar-sh/oar
cd oar
npm install
node bin/oar.js setup # writes server/config.json with a fresh auth token
npm start # the same as: node server/server.js
チェックアウトは、グローバルインストールと次の 3 点で異なります。
- 状態はリポジトリの中に置かれます:
server/、config. json server/、data/ server/、uploads/ server/です。グローバルインストールは状態をlogs/ ~/.に置きます(OAR がファイルを置く場所とファイルとフォルダーを参照)。oar - 自動では更新されません。
git pull、npm installで更新し、会話の⋯メニューにある 🌄 Restart web relay(Web リレーを再起動)でリレーを再起動します。oar updateはグローバルインストール用です。 oar start、oar stop、oar restartはグローバルインストール専用です。 チェックアウトでは、npm startがリレーをフォアグラウンドで実行します。
node server/ は、保存せずに 1 回の実行だけ設定ファイルを上書きします。
プラットフォーム別 #
| macOS | Linux | Windows | WSL | |
|---|---|---|---|---|
| インストーラー | curl -fs |
同じ | irm oar. |
Linux 用をディストリビューション内で |
| Node.js の取得 | はい | はい | いいえ。先にインストールします | はい |
| リレーの起動 | バックグラウンドで | ユーザーセッションがあれば systemd のユーザーサービスとして、なければバックグラウンドで | いいえ。oar start を実行します |
systemd が有効なら systemd のサービスとして、なければバックグラウンドで |
| ログイン時に起動 | 未対応 | oar service install |
oar autostart signin または boot |
systemd がある場合のみ |
| 状態フォルダー | ~/. |
~/. |
%APPDATA%\ |
ディストリビューション内の ~/. |
| セッションワーカー用の tmux | 任意 | 任意 | 使わない | 任意 |
再起動後、バックグラウンドで動くリレーは oar start で起動します。
WSL #
Linux のインストーラーは、Windows ではなくディストリビューションの中で実行してください。WSL の既定のネットワーク設定では、ディストリビューション内でポートが空いていても Windows のプログラムがそのポートで待ち受けていることがあり、その場合 Windows のブラウザーで localhost:<port> を開くとそのプログラムにつながります。そのため、新しい設定ファイルは両側で空いている最初のポートを使い、oar setup は Windows が使っているポートを受け付けません。oar status、oar start、oar doctor は、リレーのポートを Windows が使っている場合に警告します。解決するには別のポートを選びます。
oar setup --port 3400
WSL 内の LAN アドレスは WSL の内部でしか使えません。スマートフォンからアクセスするには、トンネルか WSL のミラーモードのネットワークを使ってください。
OAR の削除 #
0.9.15 で追加 oar uninstall は、データを残したまま OAR をマシンから削除します。
oar uninstall
リレーを停止し(実行中のターンを待ちます)、OAR が生成した自動起動の項目(systemd のユニット、または Windows のサインイン時の項目と起動タスク。起動タスクには管理者の確認が 1 回必要です)と、OAR が書き込んだ Copilot 拡張機能のラッパーを削除し、コマンドの終了後に npm でパッケージを削除します。自分で作成または編集した項目は残り、その名前が表示されます。設定ファイル、データベース、アップロード、ログは状態フォルダーに残り、コマンドがその場所を表示します。後でインストールすると、それらがまた使われます。詳細とすべてのメッセージは oar uninstall にあります。
データも削除するには、次を実行します。
oar uninstall --purge
delete と入力すると状態フォルダーを削除します。状態フォルダーの外にあるデータフォルダー、git チェックアウト内のデータフォルダー、rescued- については、削除の前に別途確認します。ドライブのルート、ホームフォルダー、システムフォルダー、OAR の設定ファイルやデータベースを含まないフォルダーは削除しません。この操作で会話も削除されます。
oar uninstall は、macOS と Linux のインストーラーがパッケージの外に追加したものは元に戻しません。
~/.にあるlocal/ bin oarスクリプト(インストーラーがそこに置いた場合。2 つ目と 3 つ目のケース)- シェルの起動ファイルに追加された 2 行(ある場合。コメント
# added by the OAR installerと、その下のexport PATHの行) ~/.(OAR 専用の Node.js がある場合)。状態フォルダー内にあるため、oar/ runtime --purgeなしでは残ります。
0.9.15 より前のバージョンや、oar がもう動かない場合は、手動で取り除きます。oar stop でリレーを停止し、サービスや Windows の自動起動を設定している場合は oar service remove を実行します。パッケージは npm uninstall -g @oar- で削除するか、インストーラーの他の 2 つのケースでは ~/. を削除します。その後、上記のものを削除し、データも消したい場合に限り ~/. または %APPDATA%\ を削除します。
OAR がファイルを置く場所 #
グローバルインストールは状態を ~/.(Windows では %APPDATA%\。OAR_ で場所を変えられます)に置きます。
config.json data/:データベースとアップロードlogs/:oarがリレーを起動した場合のserver.とlog server-、および Node のセッションワーカーごとのerr. log worker-<session>.log
npm でパッケージを更新しても、これらには触れません。macOS と Linux のインストーラーは、状態ではないフォルダーを 2 つ追加することがあります。npm/(npm のグローバルフォルダーに書き込めなかった場合のパッケージ)と runtime/(OAR 専用の Node.js)です。使用中のパスは oar doctor で表示されます。
インストール後にあるもの #
oarコマンド。ターミナルでoarだけを実行するとメニューが開き、リレーの状態と他のコマンドが表示されます。oar setupは設定(他のデバイスからのアクセス、ポート、トークン)を変更し、oar urlはリレーの URL をもう一度表示します。- 新しい認証トークンを含む設定ファイル。既定のアクセスでは、リレーにはこのマシンからのみ、
http://または次に空いているポートで接続できます。localhost: 3333/ - macOS と Linux では、実行中のリレー。Windows と手動の npm インストールの後は、
oar startで起動するリレー。
インストールされたものを確認します。
oar --version
oar doctor
oar doctor は、バージョン、Node.js、インストール方法、状態フォルダー、設定ファイルのパス、ポート、トークンが設定されているかどうか、データベースのパスとサイズ、応答するプロバイダーの CLI を表示します。何も変更しません。
トラブルシューティング #
インストール後の問題については、トラブルシューティングを参照してください。
| 症状 | 対処 |
|---|---|
npm install -g @oar- が EACCES で失敗する |
ディストリビューションや NodeSource の Node.js のように、npm のグローバルフォルダーに root が必要です。sudo は使わないでください。macOS と Linux のインストーラーを実行すると、代わりに ~/. にインストールされます |
| Windows のインストーラーが Node.js が古すぎると表示する | OAR には 22.13 以降が必要です。nodejs.org から現在の Node.js をインストールし、インストーラーをもう一度実行してください。(macOS と Linux のインストーラーは代わりに専用の Node.js をダウンロードし、その理由を計画に記載します) |
Windows で Node. と表示される |
nodejs.org から Node.js 22.13 以降をインストールし、新しいターミナルを開いて、インストーラーをもう一度実行してください |
インストーラーの実行後に oar: command not found と表示される |
新しいターミナルを開くか、インストーラーが表示した export PATH=... の行を実行してください。Windows では、新しいターミナルを開いてから oar. を実行してください |
PowerShell で oar がブロックされる |
oar. と入力するか、Set- を一度実行してください |
| node-gyp や prebuild のエラーでインストールが失敗する | better- に、お使いのプラットフォーム向けのビルド済みバイナリがありません。C/C++ のビルドツールチェーンと Python をインストールしてから、もう一度試してください |
npm 12 でのインストール後にリレーが起動せず、server- に better- のエラーがある |
npm 12 が OAR のネイティブ依存関係のインストールスクリプトを省略しました。npm install -g --allow- で再インストールしてください |
インストーラーが no terminal to ask on と表示する |
--yes を追加します:curl -fs |
インストーラーが refusing to run as root と表示する |
sudo を使わず、自分のユーザーでもう一度実行してください |
| お使いのシステム向けの Node.js のダウンロードがない(musl、他の CPU) | Node.js 22.13 以降を自分でインストールしてから、インストーラーをもう一度実行してください |
| WSL:Windows のブラウザーに別のページが表示される、またはトークンが拒否される | Windows がそのポートを使っています。別のポートを指定して oar setup --port <port> を実行してください |