Vue.jsを使った開発をすることがあり、その取り掛かりで環境を準備しているときに起きた問題の備忘録。
発生した問題
Visual Studio Codeを使ってプロジェクトを作成しようとしたところ、次の問題が発生した。
対応方法
PowerShell実行ポリシーの設定を変更する。
- 管理者権限でWindows PowerShellを起動する
- 現在の設定を確認する
> Get-ExecutionPolicy
RestrictedやUndefinedになっているはず
- ポリシーの設定を変更する
> Set-ExecutionPolicy RemoteSigned
実行ポリシーの設定値
ポリシー | 説明 |
---|---|
Restricted | 全てのスクリプトが制限される。 |
AllSigned | 全ての署名付きスクリプトのみ実行可能。署名がないものは実行不可。 |
RemoteSigned | ローカルのファイルは実行可能。インターネットからダウンロードした外部のスクリプトは署名が必要。 |
Unrestricted | 全てのスクリプトが実行可能。ただし、インターネットからダウンロードしたファイルは実行時、確認される。 |
Default | デフォルトのポリシーを設定する。Windowsクライアントでは"Restricted"、Windows Serverでは"RemoteSigned" |
Bypass | 警告や確認なしに、すべてのファイルが実行可能。 |
Undefined | 現在のスコープから現在割り当てられている実行ポリシーを削除する。 |
実行ポリシーのスコープ
特定のスコープでのみ有効な実行ポリシーを設定することが可能。
設定する場合は、"Scope"オプションを指定する。(デフォルトは "LocalMachine")
> Set-ExecutionPolicy RemoteSigned -Scope Process
スコープ | 説明 |
---|---|
Process | 実行ポリシーは現在のWindows PowerShellプロセスにのみ影響する。 |
CurrentUser | 実行ポリシーは現在のユーザーのみに影響する。 |
LocalMachine | 実行ポリシーは現在のコンピューター上のすべてのユーザーに影響する。 |
実行ポリシーの設定値の保存先
スコープ | 保存先 |
---|---|
Process | 環境変数PSExecutionPolicyPreference (PowerShellプロセスが終了すると、変数と値が削除される) |
CurrentUser | レジストリHEKY_CURRENT_USER:\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell のExecutionPolicy |
LocalMachine | レジストリHKEY_LOCAL_MACHINE:\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell のExecutionPolicy |