Codexの更新が反映されない?Standalone版とnpm版を整理して再インストールした記録

VS CodeのCodex拡張機能で、メッセージを送信できなかったり、送信後に応答を待つ状態が続いたり、入力した文章が消えたりすることがあった。調べる過程でCodex CLIをアップデートしたものの、確認するとバージョンが変わっていなかった。

where.exe codex で保存先を確認したところ、今回の環境にはStandalone版とnpm版のCodex CLIが両方入っていた。更新されていたのはnpm版で、普段呼び出していたStandalone版は更新されていなかった。

そこで、Standalone版、npm版、IDE版、アプリ版を一度すべてアンインストールし、構成を整理して入れ直した。この記事では、その経緯とアンインストール・再インストール方法、今後npm版を追加しないための運用をまとめる。

PR

Codex CLIの導入方法を整理するメリットと注意点

CLIの導入方法を一つにそろえると、どのCodexを更新し、どのCodexを起動しているか把握しやすくなる。今回のように、更新したものと実際に動くものが異なる状況を避けやすい。

一方、再インストールには時間がかかり、ログイン状態や設定の確認も必要になる。また、CLIを整理すればIDE版の不調が必ず直るとは限らない。

まずは、今回扱った四つの呼び方を整理しておく。

呼び方この記事で指すもの
Standalone版公式のStandaloneインストーラーで導入するCodex CLI
npm版npmというパッケージ管理ツールで導入するCodex CLI
IDE版VS Codeで使うCodex拡張機能
アプリ版Windows向けのChatGPTアプリ

Standalone版とnpm版は、CLIの導入方法の違いである。CLIとは、ターミナルにコマンドを入力して操作する形式のことだ。

IDE版には同梱の実行ファイルがあり、ターミナルで起動するCLIと同じものを使っているとは限らない。このため、CLIのバージョン確認だけでIDE版の状態まで判断しないようにする。公式の開発者向け設定

PR

VS Codeの不調からCodex CLIの重複に気づくまで

きっかけは送信できない・待機状態が続く症状だった

最初に困ったのは、VS CodeのIDE版Codexで、メッセージを送信できなかったり、送信後に待機状態が続いたり、入力した文章が消えたりしたことだった。

その状況を調べる中でCLIの更新も行ったが、codex --version で確認してもバージョンが変わらなかった。更新操作をしたつもりなのに結果が反映されないため、インストール状態を確認することにした。

ここで分けて考えたいのは、「IDE版で起きた不調」と「CLIの更新が反映されなかった問題」である。今回の経緯だけでは、CLIの重複がIDE版の不調を引き起こしたとまでは断定できない。

where.exe codexで二つの導入経路を確認した

Windowsでは、次のコマンドで codex に一致するファイルの場所を調べられる。

where.exe codex

where.exe は、現在のフォルダやPATHに登録されたフォルダを検索する。PATHとは、コマンドを実行するときにWindowsがファイルを探す場所の一覧だ。Microsoftのwhereコマンド解説

今回の環境では、表示された保存先を確認することで、Standalone版とnpm版が両方インストールされていることが分かった。

ただし、表示が複数行あるだけで、別々のCodexが重複しているとは判断できない。一つの導入方法でも複数の起動用ファイルが存在することがあるため、行数ではなく保存先と導入方法を確認する必要がある。

更新されたnpm版と、起動していたStandalone版が異なっていた

今回、バージョンが変わらなかったのは、npm版だけが更新され、起動していたStandalone版が更新されていなかったためだった。

同じ codex という名前でも、別の場所に入っていれば管理対象は異なる。npm版を更新しても、別途インストールしたStandalone版まで更新されたことにはならない。

バージョンが変わらないときは、更新操作を繰り返す前に「どこにあるCodexを起動しているのか」を確認することが大切だと分かった。

PR

Codexの各版をアンインストールする方法

今回はStandalone版、npm版、IDE版、ChatGPTアプリを一度すべてアンインストールした。その後、CLIはStandalone版に統一し、IDE版とChatGPTアプリも入れ直した。

ここからは、同じように構成を整理するときの一般的な手順を説明する。今回の症状が出た場合に、必ず四つすべてを削除する必要があるという意味ではない。

作業前に編集中のファイルを保存し、実行中のCodex CLI、VS Code、ChatGPTアプリを終了する。コマンドの実行には、VS Code内のターミナルではなく、Windowsのスタートメニューから開いたPowerShellを使う。

Standalone版をアンインストールする

以下は、公式の保存先情報に基づく、既定構成向けの手動削除手順である。公式の専用アンインストール手順として案内されているものではない。

まず、PowerShellで保存先と、保存先を変更する環境変数を確認する。

where.exe codex
$env:CODEX_INSTALL_DIR
$env:CODEX_HOME

後ろの二つで何も表示されなければ、そのPowerShellでは該当する環境変数が設定されていない。値が表示された場合は、以下の既定パスで作業せず、設定された実際の保存先を確認する。公式の環境変数ドキュメント

今回の環境では、Standalone版の起動用ファイルとパッケージは次の場所にあった。「ユーザー名」はWindowsのユーザーフォルダ名に読み替える。

C:\Users\ユーザー名\AppData\Local\Programs\OpenAI\Codex\bin\codex.exe
C:\Users\ユーザー名\.codex\packages\standalone\

この構成を確認できたら、エクスプローラーのアドレスバーに次のパスを入力し、Enterで開く。

%LOCALAPPDATA%\Programs\OpenAI\Codex

表示された bin を右クリックし、「削除」をクリックする。今回の構成では bin はパッケージ側を参照するジャンクションという仕組みになっていた。中に入って個別の実行ファイルを削除するのではなく、2 という項目そのものを削除する。

続いて、エクスプローラーで次の場所を開く。

%USERPROFILE%\.codex\packages

中にある standalone フォルダだけを右クリックし、「削除」をクリックする。.codex 全体やほかのフォルダは削除しない。.codex には設定、認証情報、履歴、スキルなども保存されるためだ。

今回は同じ場所に再インストールする前提なので、PATHに登録されたStandalone版のパスは残しておいてよい。ファイルを削除しても、この検索先の登録自体は残る。

npm版をアンインストールする

npmでグローバルに導入したCodex CLIは、PowerShellで次のコマンドを実行して削除する。

npm uninstall -g @openai/codex

-g は、グローバルにインストールされたパッケージを対象にする指定である。Codexを削除するために、Node.jsやnpmそのものまでアンインストールする必要はない。npm公式のアンインストール方法

PowerShellで npm.ps1 の実行が制限されているというエラーが出る場合は、次のように npm.cmd を指定する。

npm.cmd uninstall -g @openai/codex

削除後に where.exe codex を実行し、npm版の保存先が残っていないか確認する。Standalone版とnpm版の両方を削除済みなら、見つからない旨が表示されても、この段階では問題ない。想定と異なる場所が表示された場合は、その保存先と導入方法を調べてから対処する。

IDE版のCodex拡張機能をアンインストールする

VS Codeを開き、Ctrl + Shift + X で「拡張機能」を表示する。検索欄に @installed codex と入力し、OpenAIが発行する「Codex – OpenAI’s coding agent」を確認する。

対象の拡張機能の歯車をクリックし、「アンインストール」をクリックする。英語表示では「Uninstall」に当たる。再起動などの案内が出た場合は、その案内に従う。VS Code公式の拡張機能管理手順

削除が終わったら、再びVS Codeを終了する。

ChatGPTアプリをアンインストールする

Windowsの「設定」を開き、「アプリ」→「インストール済みアプリ」の順にクリックする。

一覧から「ChatGPT」を探し、右側の「…」をクリックして「アンインストール」をクリックする。確認画面が表示されたら、内容を確認してアンインストールを進める。Microsoftのアプリ削除手順

この操作はChatGPTアプリを対象とする。Standalone版、npm版、VS Code拡張機能の削除は、それぞれの手順で行う。

Standalone版・IDE版・ChatGPTアプリを再インストールする方法

再インストールでは、Standalone版、IDE版、ChatGPTアプリの三つを導入する。今回の方針では、npm版は追加しない。

Standalone版を公式インストーラーで導入する

WindowsのスタートメニューからPowerShellを開き、次のコマンドを実行する。

powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"

公式スクリプトを取得して実行し、Standalone版を導入する。インストール先の設定については、公式の環境変数ドキュメントで確認できる。

完了したらPowerShellを閉じ、新しく開き直す。続いて、起動用ファイルの場所とバージョンを確認する。

where.exe codex
codex --version

想定したStandalone版の場所が表示され、バージョンを確認できたら、次のコマンドで起動する。

codex

サインインの案内が表示された場合は、画面に従ってChatGPTアカウントでサインインする。

IDE版のCodex拡張機能を導入する

VS Codeを開き、Ctrl + Shift + X で「拡張機能」を表示する。検索欄に次の拡張機能IDを入力する。

@id:openai.chatgpt

発行元がOpenAIで、表示名が「Codex – OpenAI’s coding agent」であることを確認し、「インストール」をクリックする。英語表示では「Install」に当たる。公式拡張機能の配布ページ

インストール後、再起動などを求められた場合は案内に従う。Codexの画面を開き、表示される案内に従ってChatGPTアカウントでサインインする。

ChatGPTアプリを導入する

ChatGPTのWindowsアプリ公式案内を開き、ダウンロードのリンクからMicrosoft Storeへ進む。

Microsoft StoreでChatGPTアプリをインストールし、完了後にアプリを開く。画面の案内に従ってChatGPTアカウントでサインインする。

再インストール後にCLIの場所と各画面の動作を確認する

CLIは、保存先とバージョンをセットで確認する。

where.exe codex
codex --version

今回の構成では、Standalone版の保存先が表示されるか、npm版の保存先が残っていないかを確認する。想定と異なる場所が表示された場合は、バージョン番号だけで判断せず、導入方法と保存先をもう一度見直す。

続いて、VS CodeのCodexでメッセージを送信できるか、応答が返るか、入力した文章が意図せず消えないかを確認する。ChatGPTアプリも開き、サインインして利用できるか確かめる。

CLIの確認結果だけで、IDE版やChatGPTアプリも正常だとは判断しない。再インストール後の症状が解消したかどうかは、それぞれの画面で確認する。

今後はnpm版を追加せず、Standalone版の更新先を確認する

CLIの導入方法をStandalone版に統一する

今後は、Codex CLIの導入方法をStandalone版にそろえる。手順を調べている途中でnpmを使うインストール例が見つかっても、そのまま実行して別のCLIを追加しないようにする。

これはnpm版そのものに問題があるという判断ではない。今回の環境では、導入方法を一つにそろえるほうが管理しやすいためだ。

IDE版とChatGPTアプリは用途に応じて使い、CLIの更新とは分けて管理する。

codex updateは対応しているリリースで使う

自己更新に対応しているリリースでは、次のコマンドでCLIを更新できる。

codex update

ただし、どのバージョンでも使えると決めつけない。公式説明でも、インストール済みのリリースが自己更新に対応している場合のコマンドとされている。公式の開発者向けコマンド

更新後は、再び where.exe codex と codex --version を確認する。codex update が利用できない場合は、先に掲載した公式Standaloneインストーラーを再実行する方法を確認する。

「自動的にすべて最新版になる」と考えるのではなく、更新したCLIと普段使っているCLIが一致しているかを確かめる運用にする。

まとめ

今回のきっかけは、VS CodeのCodexで送信できなかったり、待機状態が続いたり、入力した文章が消えたりしたことだった。調査中にCLIを更新してもバージョンが変わらず、where.exe codex でStandalone版とnpm版の併存が分かった。

更新されていたのはnpm版で、起動していたStandalone版は更新されていなかった。そこで、Standalone版、npm版、IDE版、ChatGPTアプリを一度すべてアンインストールし、npm版を除く三つを再導入した。

今後はnpm版を追加せず、更新時には保存先とバージョンをセットで確認する。IDE版の不調とCLIの更新問題は分けて確認することも、今回の整理で押さえておきたい点である。

\ITメモが役に立ったら/

ITメモをサポートする!
AI
PR

コメント

タイトルとURLをコピーしました