Windows 10のVisual Studio Codeが統合ターミナル内にグローバルにインストールされたNPMパッケージを検出できないという問題が発生しています。
たとえば、windowsコマンドPrompt Iをコマンド@angular/cli
経由でnpm install -g @angular/cli
をインストールすると、そのコマンドプロンプト内でng --version
などの@ angular/cliコマンドをエラーなしで実行できます。そのグローバルnpmモジュールのインストール後、Visual Studio Code内で同じng --version
を実行するとエラーが発生します。
「ng」という用語は、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれていた場合は、パスが正しいことを確認してから再試行してください。
ただし、統合端末内でnpm -v
やnode -v
などのコマンドを正常に実行できます。
システム環境変数に次の項目があります
C:\Program Files\nodejs\
%AppData%\npm
グローバルnpmモジュールの検出を可能にするために欠落しているVisual Studio Codeユーザーまたはシステム環境変数はありますか?
あなたが提供できる助けをありがとう。
この問題を解決し、システム環境パス変数を%AppData%\npm
の前に%ProgramFiles%\nodejs\
ごとにnpm トラブルシューティングのヒント
ターミナルコマンドを機能させるには、Visual Studioコードを「管理者として実行」する必要があります。
以下の手順に従うだけで他に何もする必要はありません-
Path変数に%AppData%\npm
を追加すると、PowerShellとコマンドプロンプトで機能しますが、VS Codeの統合されたPowerShellでは機能しませんでした。
%AppData%\npm
から実際のパスに変更したときC:\Users\<USER>\AppData\Roaming\npm
ここで<USER>
はユーザーディレクトリで、VS Codeを再度開いて動作し始めました。