4
0

More than 1 year has passed since last update.

VScodeのTerminalでyarnすると怒られた

Posted at

現象

Windows10にyarnをインストールして、Visual Studio Code(以下VScode)でTerminalを開き、yarnのバージョンを確認するために以下を入力するとエラーメッセージが出た。

> yarn -v
yarn : このシステムではスクリプトの実行が無効になっているため、ファイル C:\Users\{PC名}\AppData\Roaming\npm\yarn.ps1 を読み込むことができません。詳細については、「about_Ex 
ecution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。   
発生場所 行:1 文字:1
+ yarn -v
+ ~~~~
    + CategoryInfo          : セキュリティ エラー: (: ) []、PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

コマンドプロンプト(以下CMD)では、バージョンが表示された。

> yarn -v
1.22.17

VScodeでTerminalを開くとデフォルトでPowerShellが開いていることが判明。
そして、PowerShellには実行ポリシーというものが設定されていて、実行できるコマンドに制約がある模様。

参考:https://qiita.com/tomoko523/items/df8e384d32a377381ef9

ポリシーを変更するにはPowerShellを管理者として開く必要があるため、VScodeのTerminalからではなく、PowerShellを検索して右クリックして管理者として実行する必要がある。(面倒)
yarn.ps1は署名が付いていないみたいなので、ポリシーはRemoteSignedに変更してみる。

> Set-ExecutionPolicy RemoteSigned
実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies
のヘルプ トピック (https://go.microsoft.com/fwlink/?LinkID=135170)
で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は "N"): y

コマンドを打った後、[Y]を選択するとポリシーが変更される。
以下のコマンドでポリシーが確認できる。

> Get-ExecutionPolicy -List
        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       Undefined
 LocalMachine    RemoteSigned

VScodeに戻ってTerminal上でyarn -vと打ってみると無事にバージョンが表示された。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0