v2rayNをダブルクリックしてもウィンドウが表示されない、ウィンドウが一瞬表示されて終了する、またはシステムに起動を阻止される場合が対象です。まずエラー内容を記録し、アプリのパッケージとシステムのアーキテクチャを確認してから、Windows、macOS、Linuxごとに実行環境を調べます。メインウィンドウが安定して開くようになってから、ノードやプロキシ接続を確認してください。
まずクラッシュが起きる段階を確認
「起動直後に落ちる」からといって、ノードが使えないとは限りません。ダブルクリックしてもウィンドウがまったく表示されない場合は、システムによるブロックや起動に必要な依存関係を確認します。メインウィンドウが表示された後に終了する場合は、アプリのログや設定を確認してください。ウィンドウは開いたままなのにウェブページへアクセスできない場合に、システムプロキシ、サブスクリプション、接続先を調べます。発生段階を切り分ければ、ランタイムのエラーをサーバー障害と誤認せずに済みます。
OSのバージョン、プロセッサのアーキテクチャ、インストーラ名、問題が初めて発生した時刻を記録します。Windows x64とWindows arm64のように、ファイル名が似ているだけで別のプラットフォームやアーキテクチャのビルドを使い回さず、対応するものをダウンロードしたか確認してください。圧縮ファイルから実行している場合は、まず現在のユーザーが書き込めるフォルダに完全に展開します。圧縮ファイルのプレビュー画面から直接起動しないでください。
トラブルシューティング中は、既存の設定を削除しないでください。新しいインストーラを試す場合は、先に元のフォルダをバックアップし、別のフォルダに新しいパッケージを完全に展開します。新旧バージョンのファイルを同じ場所に混在させないでください。メインプログラムが正しいバージョンでも、古い付属ファイルが読み込まれることがあります。
確認の順番:まずメインウィンドウを安定して開く
ローカルポートやノード設定を確認するのは、アプリが起動してプロキシサービスの待ち受けが始まってからです。起動前に終了する場合、10808などのプロキシポートを変更しても通常は解決しません。
Windows:.NET Desktop Runtimeとクラッシュ記録を確認
Windows版は、特定のメジャーバージョンの.NET Desktop Runtimeを必要とする場合と、アプリに実行環境が含まれる場合があります。現在のインストーラの説明と起動時に表示される要件を確認し、システムに.NETをインストールしたことがあるかどうかだけで判断しないでください。.NET 8が必要と表示された場合、.NET 9をインストールしても、必要な8.xランタイムが揃ったことにはなりません。ランタイムのx64/arm64もアプリのアーキテクチャに合わせる必要があります。
- インストール先のフォルダからv2rayNを起動し、エラーに表示されたランタイム名、バージョン、アーキテクチャを記録します。Desktop Runtimeが必要と表示された場合は、対応するメジャーバージョンのWindows Desktop Runtimeをインストールしてください。SDKやASP.NET Core Runtimeだけでは代用できません。
- 「設定」→「アプリ」→「インストールされているアプリ」を開き、「.NET Desktop Runtime」を検索して、インストール済みのバージョンとアーキテクチャを確認します。インストール後は、残っているv2rayNのプロセスを終了してから再起動してください。
- エラーが表示されない場合は、
Win + Rを押してeventvwr.mscと入力し、「Windowsログ」→「アプリケーション」を開きます。クラッシュした時刻の「.NET Runtime」または「Application Error」を探し、障害が発生したモジュール名を記録してください。
イベント記録で特定のDLLが見つからないと明確に示された場合は、まずそのDLLが現在のビルドに必要なコンポーネントか確認してから、該当する依存関係を対処してください。出所不明のDLLを単独でダウンロードしてシステムフォルダに置かないでください。アップデート後に発生したエラーなら、同じバージョンの完全なインストーラを新しいフォルダに展開して試し、古いファイルの残存を切り分けます。試す前に、元の設定フォルダをコピーして保管してください。
エラー:You must install .NET to run this application.
原因と対処:必要な.NET実行環境が見つかっていません。エラーに表示されたframework、バージョン、アーキテクチャを確認し、条件に合うランタイムをインストールしてください。WindowsのGUI版がDesktop Runtimeを必要とする場合、通常のRuntimeでは代用できません。
エラー:The application was unable to start correctly (0xc000007b).
原因と対処:アプリと読み込まれるコンポーネントのアーキテクチャが一致していない可能性があります。まずインストーラのアーキテクチャを確認し、イベントビューアーで障害モジュールを調べてください。エラーコードだけで特定のDLLが壊れていると決めつけないでください。
macOS:システムによるブロック、アーキテクチャ、フォルダ権限を確認
macOSでダブルクリックしてもウィンドウが表示されない場合は、まずセキュリティに関する警告が出ていないか確認します。ネットから入手したアプリは、初回起動時にシステムによってブロックされることがあります。インストーラの入手元とプラットフォームが正しいことを確認したうえで、「システム設定」→「プライバシーとセキュリティ」を開き、今回の起動に対する「このまま開く」が表示されていないか確認してください。この項目は、通常、アプリの起動を試した後に表示されます。画面の案内に従って再度確認してください。
セキュリティ警告とファイル権限は別の問題です。前者はシステムが起動を許可するかどうか、後者はアプリが自身のファイルを読み込んだり設定を書き込んだりできるかどうかに関わります。トラブルシューティングのためにシステムのセキュリティ機能を全面的に無効化したり、ダウンロードフォルダ全体から隔離属性を一括で削除したりしないでください。アプリが破損していると明示された場合は、対応するアーキテクチャの完全なインストーラを入手し直し、展開が完了してから起動してください。
- 「このMacについて」でチップの種類を確認し、対応するmacOS版を選びます。異なるアーキテクチャのパッケージは、ファイル名を変更しても互換性が得られるわけではありません。
- アプリを圧縮ファイルから完全に取り出し、「Finder」で実際の保存場所から起動します。設定を書き込む必要がある場合は、現在のユーザーに書き込み権限がある場所を使ってください。読み取り専用のボリュームから展開したファイルを直接実行しないでください。
- ターミナルに
Permission deniedと明確に表示された場合は、まずファイル権限と保存先のパスを確認します。入手元を確認でき、実行権限が必要な対象ファイルに限って権限を変更してください。アプリのフォルダ全体に再帰的な権限変更を行わないでください。
起動が許可されてもすぐ終了する場合は、「コンソール」を開き、起動時刻に近いアプリのクラッシュレポートを探します。レポートのプロセス名と最初に表示されたエラーを記録し、最後の1行だけを切り取らないでください。設定の読み込みエラーが示されている場合は、既存の設定をバックアップしてから、新しく展開したアプリのフォルダで比較テストを行います。アーキテクチャや動的ライブラリの読み込み失敗が示されている場合は、インストーラの選択と依存関係の確認に戻ってください。
エラー:開発元を確認できません
原因と対処:macOSの起動時セキュリティ警告です。インストーラの入手元を確認してからアプリの起動を試し、「システム設定」→「プライバシーとセキュリティ」で該当アプリの許可操作を確認してください。ノードの接続エラーとは別の問題です。
エラー:Permission denied
原因と対処:対象ファイルに実行権限がないか、現在のフォルダに書き込み権限がない可能性があります。まずエラーに示された具体的なパスを確認し、ファイル権限とアプリの保存場所をそれぞれ調べてください。
Linux:ターミナルの出力から不足している依存関係を特定
Linuxのデスクトップでメニューアイコンがすぐ消える場合は、ターミナルから現在のインストーラに含まれる実行ファイルを直接起動してください。まず展開したフォルダに移動し、ls -lでファイル名と実行権限を確認してから、そのファイルを実行します。以下のファイル名がすべての配布パッケージで共通のパスだとは限りません。実際の起動ファイルは、ダウンロードしたビルドの内容を確認してください。
cd ~/Downloads/v2rayN
ls -l
./v2rayN
dotnet --list-runtimes
ターミナルにPermission deniedと表示された場合は、対象ファイルが正しいLinux実行ファイルか、ファイルシステムが実行を許可しているかを確認します。ファイルの入手元を確認してから、その実行ファイルにchmod u+xを実行してください。.NETが見つからないと表示された場合は、エラーに記載されたframeworkとメジャーバージョンを確認します。Linuxで必要な実行環境の種類は、ビルドの説明と実際のエラーに従ってください。WindowsのDesktop Runtimeのインストール方法をそのまま適用することはできません。
出力にerror while loading shared librariesが含まれている場合は、コロンの後に表示されたライブラリ名を省略せずに記録し、ディストリビューションのパッケージ管理ツールで該当ライブラリを提供するパッケージを検索してください。別のディストリビューションのライブラリファイルをシステムフォルダに直接コピーしないでください。ネイティブ実行ファイルの場合は、同じフォルダでldd ./v2rayNを実行すると、動的ライブラリの解決結果を確認できます。起動ファイルがスクリプトなどでlddを使えない場合は、ターミナルのエラー表示と配布パッケージの説明を確認してください。
判断のポイント:エラーで示された依存関係だけを追加
動的ライブラリが不足している場合は、まずディストリビューションのバージョン、パッケージのアーキテクチャ、ライブラリ名をすべて確認し、システムのパッケージ管理ツールから適合するパッケージをインストールします。インストール後、同じコマンドを再実行し、最初のエラーが変化したか確認してください。
まだ起動直後に落ちる場合:設定とインストール残存ファイルを切り分ける
依存関係と権限を確認しても同じ端末で開けない場合は、元のインストールフォルダと設定のバックアップを残し、別のフォルダに同じプラットフォームのインストーラを完全に展開して試します。新しいフォルダでは起動でき、元のフォルダでは起動できない場合は、古いフォルダ内のファイル混在、設定の読み込み、書き込み権限を重点的に確認してください。どちらでも失敗する場合は、システムログとインストーラのアーキテクチャを引き続き確認します。唯一の設定ファイルをバックアップなしで上書きしないでください。
v2rayNの更新後に落ちるようになりました。以前のバージョンに戻すべきですか?
先に古いフォルダをバックアップし、現在のバージョンを新しいフォルダに完全に展開して起動を試してください。新しいフォルダで起動する場合は、古いフォルダに前のバージョンのファイルが混在していないか確認します。起動できない場合は、エラーに基づいて現在のバージョンの実行要件を確認してください。
Windowsに.NETをインストール済みなのに、なぜランタイム不足と表示されますか?
エラーの詳細を開き、framework名、メジャーバージョン、アーキテクチャをそれぞれ照合してください。たとえば8.x Desktop Runtimeが必要なビルドでは、別のメジャーバージョンがシステムにあるだけでは依存関係を満たしたことになりません。
macOSで「このまま開く」を選んでも、メインウィンドウが表示されません。
「コンソール」で同じ時刻のクラッシュ記録を探し、アプリのパッケージのアーキテクチャと保存フォルダの権限を確認してください。セキュリティによるブロックを解除しても、アプリ内部の依存関係や設定が正常に読み込まれるとは限りません。
Linuxではターミナルから起動できるのに、デスクトップメニューから起動できません。
デスクトップの起動項目が参照する実行ファイルのパスと作業ディレクトリが、現在も存在するか確認してください。展開したフォルダを移動すると、古い起動項目が以前の場所を参照し続けることがあります。ターミナルで起動に成功した絶対パスと比較してください。
メインウィンドウは開くのに、ノードへ接続できません。
これは起動直後のクラッシュとは別の問題です。コアのログ、サブスクリプションの内容、ルーティングルール、システムプロキシの状態をそれぞれ確認してください。10808などのローカル待ち受けポートも、アプリが正常に動作してから確認します。
問題を他の人に説明するときは、OSのバージョン、アプリのパッケージのアーキテクチャ、起動方法、エラーの原文、試した手順を伝えれば十分です。ログを共有する前に、サブスクリプションURL、サーバーの認証情報、個人のファイルパスを削除してください。実行環境を特定する情報は残しながら、接続設定の漏えいを防げます。