スポンサーリンク

vcpkgをコマンドプロンプトから実行しようとしてエラーが出た話

自分で導入したvcpkg installをコマンドプロンプトから実行して以下のエラーに遭遇

 

error: Could not locate a manifest (vcpkg.json) above the current working directory.

This vcpkg distribution does not have a classic mode instance.

 

これは自分で導入したvcpkgを実行したつもりで、実はVisual Studioが管理しているvcpkgが実行された場合に起こるらしい。具体的には

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat

などでVisual Studioの環境を設定した場合、且つ、環境変数などで自前のvcpkgのパスを通していた場合に起こる可能性がある。

つまり、vcvars64.batが環境を整備しているときに、Visual Studio以外で導入したvcpkgの存在が確認できた時、これを有効にしてしまうとVisual Studioのvcpkgを使っているつもりなのに異なるvcpkgを操作してしまったということが起こり得てしまいまずいので、強制的にVS用のvcpkgに上書きされる。

この上書きはdoskeyというコマンドで行われるらしい。以下の確認用コマンドで、もし

doskey /macros:all | findstr /I ^vcpkg

の結果が

vcpkg="C:\Program Files\Microsoft Visual Studio\2022\Community\VC\vcpkg\vcpkg-cmd.cmd" $*

などであれば、vcpkgのパスが上書きされているので、以下を実行してこの設定を消す。

doskey vcpkg=

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


この記事のトラックバックURL: