VSCodeでnpmが使えない原因と対処法について

採用はこちら

VSCodeでnpmが使えない場合は、VSCodeそのものではなく、Node.jsやnpmのインストール状況、PATH、ターミナルの設定、PowerShellの実行ポリシー、プロジェクトの設定などが原因になっていることが多いです。

特にWindowsでは、Node.jsをインストールしたあとにVSCodeを再起動していなかったり、PowerShellによってnpm.ps1の実行がブロックされていたりするケースがよくあります。

原因によって対処方法が大きく異なるため、まず「npmコマンド自体が使えないのか」「npmは使えるものの、npm installやnpm runでエラーになるのか」を切り分けることが重要です。

目次

VSCodeでnpmが使えないときは最初に状態を確認する

VSCodeのターミナルを開き、最初にNode.jsとnpmが認識されているか確認します。

node -v

続いて、npmのバージョンを確認します。

npm -v

正常であれば、それぞれのバージョン番号が表示されます。

たとえば、次のような表示です。

v24.x.x
11.x.x

バージョン番号は環境によって異なるため、数字そのものは問題ではありません。

重要なのは、コマンドを実行したときにバージョン番号が正常に表示されるかどうかです。

nodeとnpmの両方が使えない場合

node -vとnpm -vの両方がエラーになる場合は、主に次の原因が考えられます。

  • Node.jsがインストールされていない
  • PATHが正しく設定されていない
  • VSCodeが最新の環境変数を読み込んでいない
  • 複数のNode.js環境が競合している

この場合は、Node.jsのインストール状況やPATHを優先して確認します。

nodeは使えるがnpmだけ使えない場合

node -vは成功するものの、npm -vだけ失敗する場合は、npmのパスやPowerShellの設定などを確認します。

特にWindowsでPowerShellを利用している場合は、実行ポリシーが原因になっている可能性があります。

npm -vは成功するがnpm installなどが失敗する場合

npm -vが成功するのであれば、npmそのものは基本的に利用できています。

この場合は、次のようなプロジェクト側の問題を疑います。

  • package.jsonの問題
  • Node.jsのバージョン不一致
  • 依存パッケージの問題
  • ネットワークエラー
  • npmレジストリの設定
  • 権限の問題

エラーメッセージを確認して、原因を絞り込みましょう。

Node.jsがインストールされていない

npmを利用するには、基本的にNode.jsの環境が必要です。

一般的なNode.jsのインストール方法では、npmも一緒に導入されます。

そのため、VSCodeで次のようなエラーが表示される場合は、Node.jsがインストールされているか確認しましょう。

'node' is not recognized as an internal or external command

PowerShellでは、次のようなエラーになる場合があります。

node : 用語 'node' は認識されません

npmについては、

npm : 用語 'npm' は認識されません

などと表示される場合があります。

WindowsでNode.jsの場所を確認する

Windowsでは、次のコマンドを使用できます。

where.exe node

npmについては、次のコマンドです。

where.exe npm

PowerShellを利用している場合は、次の方法でも確認できます。

Get-Command node
Get-Command npm

何も見つからない場合は、Node.jsがインストールされていないか、PATHが正しく設定されていない可能性があります。

macOSやLinuxで確認する

macOSやLinuxでは、次のコマンドを利用できます。

which node
which npm

複数のNode.jsやnpmが存在していないか詳しく確認したい場合は、次のコマンドも便利です。

type -a node
type -a npm

PATHが通っていない

Node.jsがインストールされていても、実行ファイルの場所がPATHに登録されていないと、VSCodeのターミナルからnodeやnpmを実行できません。

Windowsの一般的なNode.js環境では、次のような場所が利用されることがあります。

C:\Program Files\nodejs\

ただし、Node.jsのバージョン管理ツールを利用している場合などは、別の場所になることがあります。

WindowsでPATHを確認する

PowerShellでは、現在のPATHを次のコマンドで確認できます。

$env:Path

また、次のコマンドを使えば、実際にどのnpmが呼び出されているか確認できます。

Get-Command npm

複数のnpmが検出される場合は、古いNode.js環境や別のバージョン管理ツールが混在している可能性があります。

PATHを変更したらVSCodeを再起動する

Node.jsを新しくインストールしたり、PATHを変更したりした場合は、VSCodeを再起動することが重要です。

VSCodeを起動したままNode.jsをインストールすると、起動済みのVSCodeに新しい環境変数が反映されない場合があります。

そのため、次の順番で確認しましょう。

  1. VSCodeのターミナルを閉じる
  2. VSCode自体を完全に終了する
  3. VSCodeを再起動する
  4. 新しいターミナルを開く
  5. node -vとnpm -vを実行する

それでも直らない場合は、PCを再起動して確認する方法もあります。

PowerShellでnpm.ps1が実行できない

WindowsのVSCodeでは、統合ターミナルとしてPowerShellが使用されることがあります。

このとき、次のようなエラーが表示される場合があります。

npm.ps1 cannot be loaded because running scripts is disabled on this system.

日本語環境では、

このシステムではスクリプトの実行が無効になっているため、
ファイル npm.ps1 を読み込むことができません。

などと表示されます。

この場合は、npmそのものが壊れているとは限りません。

PowerShellの実行ポリシーによって、npm.ps1の実行が制限されている可能性があります。

PowerShellの実行ポリシーを確認する

まず、次のコマンドを実行します。

Get-ExecutionPolicy

より詳しく確認する場合は、次のコマンドを利用します。

Get-ExecutionPolicy -List

CurrentUserやLocalMachineなど、スコープごとの設定を確認できます。

CurrentUserをRemoteSignedに変更する方法

自分で管理しているPCで、内容を理解したうえで変更する場合は、次のような設定方法があります。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

設定後、VSCodeのターミナルを開き直して、次のコマンドを確認します。

npm -v

ただし、実行ポリシーの変更はnpmを使うための唯一の解決方法ではありません。

設定を変更したくない場合は、VSCodeのターミナルをCommand Promptなど別のシェルに変更する方法もあります。

会社や学校のPCでは勝手に変更しない

会社や学校のPCでは、PowerShellの実行ポリシーが管理者によって設定されていることがあります。

その場合は、勝手に変更せず、システム管理者や担当者に確認しましょう。

また、npmを動かすためだけにBypassやUnrestrictedへ安易に変更するのもおすすめできません。

必要以上に制限を緩めないことが重要です。

PowerShellだけnpmが使えない

Command Promptではnpmが使えるものの、VSCodeのPowerShellでは使えないケースがあります。

この場合は、Node.jsやnpmのインストール自体ではなく、PowerShell側の設定が原因である可能性が高いです。

VSCodeのターミナルをCommand Promptに変更する

VSCodeでターミナルを開き、ターミナルプロファイルからCommand Promptを選択します。

そのうえで、次のコマンドを実行します。

npm -v

Command Promptでは正常に動作するのであれば、PowerShellの実行ポリシーやプロファイル設定を確認しましょう。

Git Bashなど別のシェルで確認する方法もあります。

複数のNode.jsやnpmが競合している

Node.jsを複数回インストールしていたり、Node.jsのバージョン管理ツールを複数使っていたりすると、PATHの優先順位によって意図しないNode.jsやnpmが実行されることがあります。

この状態では、

node -v

と、

npm -v

自体は動作していても、想定と異なる環境が利用されていることがあります。

Windowsで複数インストールを確認する

次のコマンドを実行します。

where.exe node
where.exe npm

複数のパスが表示される場合は、Node.js環境が複数存在している可能性があります。

古いNode.jsのPATHが残っていないか確認しましょう。

macOSやLinuxで確認する

次のコマンドが便利です。

type -a node
type -a npm

Node.jsのバージョン管理ツールを使用している場合は、そのツールで現在選択されているバージョンも確認しましょう。

npm installだけ失敗する

npm -vは正常なのに、

npm install

だけ失敗する場合は、npm自体ではなく、プロジェクトや依存関係に原因がある可能性が高いです。

package.jsonがあるディレクトリか確認する

既存のNode.jsプロジェクトの依存パッケージをインストールする場合は、通常package.jsonがあるプロジェクトディレクトリでnpm installを実行します。

たとえば、次のような構成です。

my-project/
├─ src/
├─ package.json
└─ package-lock.json

この場合は、

cd my-project
npm install

と実行します。

現在のディレクトリを確認するには、macOSやLinuxでは次のコマンドを使います。

pwd

PowerShellでは、次のコマンドです。

Get-Location

ファイル一覧も確認しましょう。

ls

Command Promptなら、次のコマンドです。

dir

node_modulesの状態に問題がある

依存関係の状態がおかしくなっている場合、npm installやnpm runでエラーになることがあります。

まずは通常どおり、次のコマンドを実行します。

npm install

それでも問題が解決しない場合は、node_modulesを削除して再インストールする方法があります。

macOSやLinuxの場合

rm -rf node_modules
npm install

Windows PowerShellの場合

Remove-Item node_modules -Recurse -Force
npm install

ただし、npm関連のエラーが発生するたびにnode_modulesを削除する必要はありません。

まずエラーメッセージを確認し、依存関係の破損が疑われる場合に実施しましょう。

package-lock.jsonを安易に削除しない

npmのトラブル対策として、package-lock.jsonを削除して再インストールする方法が紹介されることがあります。

しかし、package-lock.jsonには依存パッケージの解決結果が記録されており、同じ依存関係を再現するうえで重要なファイルです。

そのため、

node_modulesを削除
↓
package-lock.jsonも削除
↓
npm install

という手順を、すべてのnpmエラーに対して実行するのはおすすめできません。

まずはnode_modulesの再構築など、影響の小さい対処から試しましょう。

package-lock.jsonを削除する場合は、依存関係を解決し直す必要がある理由を理解したうえで実行することが大切です。

npmキャッシュに問題がある

npmキャッシュが原因ではないかと考えた場合でも、最初からキャッシュをすべて削除する必要はありません。

まずは次のコマンドでキャッシュを確認します。

npm cache verify

一方、次のコマンドはキャッシュを強制的に削除します。

npm cache clean --force

npm cache clean --forceは、npmエラーが発生したら毎回実行するコマンドではありません。

まずはnpm cache verifyを利用し、キャッシュ削除が本当に必要か判断する方がよいでしょう。

EACCESやPermission deniedが表示される

macOSやLinuxでは、グローバルパッケージをインストールするときに権限エラーが発生する場合があります。

たとえば、

npm install -g パッケージ名

を実行した際に、

EACCES
permission denied

などと表示されるケースです。

安易にsudoを使わない

エラーが出たからといって、毎回次のように実行するのはおすすめできません。

sudo npm install -g パッケージ名

Node.jsのバージョン管理ツールを利用するなど、一般ユーザーの権限でnpmを利用できる環境を整える方が適切です。

CLIツールを一時的に実行したいだけであれば、ツールによってはnpxを利用できる場合もあります。

npm run devが動かない

npm -vやnpm installは成功するのに、

npm run dev

だけが失敗する場合は、npm自体の問題ではない可能性が高いです。

npm run devは、package.jsonのscriptsにdevが定義されている場合に利用できます。

たとえば、次のようになっていれば実行できます。

{
  "scripts": {
    "dev": "vite",
    "build": "vite build"
  }
}

この場合は、

npm run dev

を実行できます。

Missing script: devが表示される場合

次のようなエラーが表示される場合があります。

Missing script: "dev"

これは、package.jsonにdevスクリプトが定義されていないことを意味します。

利用可能なスクリプトを確認するには、次のコマンドが便利です。

npm run

たとえば、

Scripts available:
  start
  build
  test

と表示された場合は、devというスクリプトは存在していません。

package.jsonの内容に応じたコマンドを使用しましょう。

npm startを利用する場合

package.jsonに、

{
  "scripts": {
    "start": "node index.js"
  }
}

と定義されている場合は、次のコマンドを利用できます。

npm start

プロジェクトによって使用するコマンドは異なるため、READMEやpackage.jsonを確認することが重要です。

Node.jsのバージョンがプロジェクトと合っていない

npm自体が正常に動作していても、Node.jsのバージョンがプロジェクトの想定と合っていないとエラーになる場合があります。

まず、現在のバージョンを確認します。

node -v

続いて、

npm -v

も確認しましょう。

package.jsonのenginesを確認する

プロジェクトによっては、package.jsonに次のような指定があります。

{
  "engines": {
    "node": ">=20"
  }
}

この場合、古いNode.jsを使用していると正常に動作しない可能性があります。

.nvmrcなども確認する

プロジェクトによっては、

.nvmrc

や、

.node-version

などのファイルでNode.jsのバージョンが指定されています。

既存プロジェクトを開いた場合は、npmの最新版を入れることだけを考えるのではなく、そのプロジェクトが想定しているNode.jsのバージョンを確認しましょう。

ネットワークやプロキシが原因になっている

npmコマンドは正常に使えるものの、npm installでパッケージを取得できない場合は、ネットワーク環境が原因になっている可能性があります。

たとえば、次のようなエラーです。

ETIMEDOUT
ECONNRESET
ENOTFOUND

この場合は、インターネット接続、VPN、プロキシ、ファイアウォール、社内ネットワークなどを確認します。

npmの設定を確認する

npmの設定は、次のコマンドで確認できます。

npm config list

レジストリの設定だけ確認する場合は、次のコマンドです。

npm config get registry

一般的なnpmのレジストリは、次のURLです。

https://registry.npmjs.org/

ただし、会社では社内用レジストリやプロキシが設定されている場合があります。

社用PCでは、設定を勝手に変更する前に、開発環境のルールを確認しましょう。

VSCodeを管理者として実行すれば直るとは限らない

権限エラーが発生すると、VSCodeを「管理者として実行」することで解決しようとするケースがあります。

しかし、通常のNode.js開発では、毎回VSCodeを管理者権限で起動する必要はありません。

管理者権限でしかnpmが動かないのであれば、Node.jsやnpmのインストール先、権限、グローバルパッケージの設定などに問題がないか確認した方がよいでしょう。

管理者権限は根本的な解決策として常用しないことをおすすめします。

npmのエラーメッセージ別に原因を判断する

VSCodeでnpmが使えない場合は、エラー内容を見ることで原因をある程度絞り込めます。

エラー・症状主な原因確認するポイント
npm is not recognizedNode.js未導入・PATHnode -v、where.exe npm
npm: command not foundNode.js未導入・PATHwhich npm
npm.ps1 cannot be loadedPowerShell実行ポリシーGet-ExecutionPolicy -List
EACCES権限Node.jsの導入方法やグローバル設定
Permission denied権限npmのインストール先
Missing script: "dev"scripts未定義npm run、package.json
ENOENTファイル・ディレクトリpackage.jsonやパス
ETIMEDOUTネットワークProxy、VPN、通信環境
ECONNRESETネットワーク回線、Proxy、セキュリティ設定
VSCodeだけnpmが使えない環境変数・シェルVSCode再起動、ターミナル変更

VSCodeでnpmが使えないときの確認手順

原因が分からない場合は、順番に確認すると問題を切り分けやすくなります。

1. Node.jsが使えるか確認する

node -v

ここでエラーになる場合は、Node.jsのインストール状況やPATHを確認します。

2. npmが使えるか確認する

npm -v

nodeは動くのにnpmだけエラーになる場合は、npmの場所やPowerShellの設定を確認します。

3. nodeとnpmの場所を確認する

Windowsでは、

where.exe node
where.exe npm

または、

Get-Command node
Get-Command npm

を利用します。

macOSやLinuxでは、

which node
which npm

を確認します。

4. VSCodeを完全に再起動する

Node.jsのインストールやPATH変更後であれば、VSCodeを完全終了して再起動します。

5. WindowsではPowerShellの実行ポリシーを確認する

Get-ExecutionPolicy -List

npm.ps1関連のエラーが出ている場合は特に重要です。

6. 別のターミナルでも確認する

PowerShellで動かない場合は、Command Promptなどに変更して確認します。

npm -v

別のシェルでは正常に動くのであれば、ターミナル固有の設定が原因と判断しやすくなります。

7. package.jsonを確認する

npm installやnpm run devだけが失敗する場合は、プロジェクトルートにいるか確認します。

あわせてpackage.jsonの内容も確認しましょう。

8. 利用可能なnpmスクリプトを確認する

npm run

を実行すると、package.jsonに定義されているスクリプトを確認できます。

npm run devが使えない場合は、まずこの方法でdevが存在するか確認すると効率的です。

9. Node.jsのバージョンを確認する

node -v

プロジェクトのpackage.jsonや.nvmrcなどと比較して、対応バージョンか確認します。

10. 必要に応じて依存関係やキャッシュを確認する

依存関係に問題がある場合は、node_modulesの再構築を検討します。

キャッシュが疑わしい場合は、まず次のコマンドを実行します。

npm cache verify

まとめ

VSCodeでnpmが使えない場合は、最初に次のコマンドを確認することが重要です。

node -v
npm -v

node -vも失敗するのであれば、Node.jsのインストールやPATHに問題がある可能性が高いです。

node -vは成功するもののnpm -vが失敗するのであれば、npmのPATHやPowerShellの実行ポリシーを確認しましょう。

Command Promptではnpmが使えるのにPowerShellでは使えない場合は、PowerShell側の設定が原因である可能性があります。

一方、npm -vは成功するのにnpm installやnpm run devだけが失敗する場合は、package.json、依存関係、Node.jsのバージョン、ネットワーク、権限などを確認します。

また、npm run devが動かない場合は、次のコマンドで利用可能なスクリプトを確認すると便利です。

npm run

VSCodeでnpmが使えない問題は、「npmコマンドそのものが使えない問題」と「npmは使えるがプロジェクト側でエラーになる問題」を分けて考えると、原因を特定しやすくなります。

まずエラーメッセージを確認し、Node.js、npm、PATH、ターミナル、プロジェクトの順番で一つずつ切り分けていくのが効率的です。

以上、VSCodeでnpmが使えない原因と対処法についてでした。

最後までお読みいただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次