VS Code ターミナルのスクリプト エラー

VS Code で開発作業をする際、VS Code 内の「ターミナル」を使ってスクリプトを実行しようとすると、「このシステムではスクリプトの実行が無効になっているため、~ ファイルを読み込むことができません」のようなエラーが表示される場合があります。

次の例は、Node.js を利用した開発で、npm install を実行して Node.js パッケージをインストールしようとした際に表示された際のエラーです。この「ターミナル」は、VS Code 既定の PowerShell を使用しています。

エラーの原因は PowerShell の実行ポリシー(Execution Policy)によるものです。対処法はいくつかありますが、この記事で代表的な回避策をご案内しておきたいと思います。

  • この記事では、キャプチャ画像を視認しやすくする目的で、VS Code の配色テーマ(ユーザー インターフェースの色合いテーマ)を明るい [ライト 2026 既定でライト] に変更して使用しています。

回避策 1

VS Code のターミナル(PowerShell)で次のコマンドを実行して、PowerShell の実行ポリシーを変更する方法があります。

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

このコマンドで「自分が書いた、または信頼できるソースからのスクリプトは実行可、インターネットからダウンロードした未署名スクリプトは制限」という設定に実行ポリシーが変更されます。実行後に確認を求められたら Y を入力してください。

この実行ポリシーの変更は、Windows 11 のユーザー インターフェイスからも変更することが出来ます。Windows 11 の「設定」→「システム」→「開発者向け」(バージョンによっては「詳細設定」内)にある PowerShell のトグルを利用する方法です。

Windows 11 25H2

このトグルをオンにすると、現在のユーザー スコープで実行ポリシーが RemoteSigned に変更されて、前述のコマンドと同一のポリシーになります。セキュリティ上の水準も変わりません。


回避策 2

VS Code の既定の「ターミナル」を PowerShell から Command Prompt(コマンド プロンプト、cmd.exe)や Git Bash に変更してしまう方法です。実行ポリシーの制約はそもそも PowerShell 固有のものなので、これらのシェルなら問題自体が発生しません。

この設定は、VS Codeの「設定」→「機能」→「ターミナル」の「Integrated > Default Profile: Windows」で切り替えることが出来ます。

VS Code バージョン: 1.134.0

設定後には、新しい「ターミナル」で指定したシェルが有効になります。エラーが出ている「ターミナル」のシェルは PowerShell のままなので、そのままエラーが出たスクリプトを実行すると、再度同じエラーが表示される結果になります。

表示中の「ターミナル」が、どのシェルを使用しているかは、「ターミナル」右上に表示されます。また、複数のシェルの使用実績があり、次のように表示されている場合には、ここで使用する「ターミナル」をシェル別に切り替えることも出来ます。


会社から支給された Windows PC をお使いで、組織のポリシーによってこれらの変更が制限されている場合には、IT 管理者に実行ポリシーの緩和を依頼する必要があります。

Discover more from Autodesk Developer Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading