目次
1.環境
2.インストール手順
3.背景
4.エラー内容について
5.試したこと
6.結論
7.解決方法
8.yarnのインストール
9.今回のエラーで間違って試したこと
10.参考URL
環境
・Windows10
・node.js(node-v18.18.0-x64)
・Visual Studio Code
インストール手順
インストーラーは下記です。
node-v18.18.0-x64
Visual Studio Code
手順は下記を参考にしました。
背景
node.jsをインストール後、VSコードでyarnコマンドが使用できない。
ただし、Windowsのコマンドプロンプト上ではyarnが使用できるといった事象が発生。
開発はVSコード上で行うため、できればVSコード上のターミナルで実行したいといった理由から解決方法を探りました。
エラー内容について
下記のコマンドを実行後、エラーが発生。
# npmでyarnをインストール
$npm install -g yarn
# yarnのバージョン確認
$yarn -v
yarn : このシステムではスクリプトの実行が無効になっているため、ファイル C:\Users\hoge\AppData\Roaming\npm\yarn.ps1 を読み
込むことができません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してくだ
さい。
発生場所 行:1 文字:1
+ yarn -v
+ ~~~~
+ CategoryInfo : セキュリティ エラー: (: ) []、PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
試したこと
・Node.jsを参考URL①に従って再インストール
・node、yarn、実行ファイルのディレクトリの確認
・実行ポリシー スコープの変更(参考URL④)
結論
PowerShell を使用した実行ポリシーの変更を行う必要があった。
下記のコマンドで実行ポリシーを確認したところ、
LocalMachinの実行ポリシーが「Undefined」のため、yarnを実行することができなかった。
$Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Undefined
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser RemoteSigned
LocalMachine AllSigned
解決方法
1Windowsの検索ボックス上で「Windows PowerShell」と入力し、右クリック>「管理者として実行」を押下。
2「このアプリがデバイスに変更を加えることを許可しますか?」>「はい」を押下
3PowerShellが起動。
4下記のコマンドを順に叩たく。
参考URL④に同様の内容が書いているので、スコープの意味など気になる方はURLを参照してください。
①現在のセッションに影響を与えるすべての実行ポリシーを取得し、優先順位で表示する.
$Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Undefined
②CurrentUserのスコープを変更する。
$Set-ExecutionPolicy -ExecutionPolicy <PolicyName> -Scope <scope>
私の場合は下記のように変更しました。
$Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
③変更されているか確認する。
$Get-ExecutionPolicy -Scope CurrentUser
RemoteSigned
④LocalMachine のスコープを変更する。(③と同様の書き方)
$Set-ExecutionPolicy -ExecutionPolicy <PolicyName> -Scope <scope>
私の場合は下記のように変更しました。
$Set-ExecutionPolicy -ExecutionPolicy AllSigned -Scope LocalMachine
⑤変更されているか確認する。
$Get-ExecutionPolicy -Scope LocalMachine
AllSigned
⑥最後に念のため、変更内容を一覧で確認する。
$Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser RemoteSigned
LocalMachine AllSigned
⑦変更内容が確認出来たら「exit」でPowerShellを終了して大丈夫です。
yarnのインストール
やっと、yarnをインストールできる環境が整いました。
yarnをインストールするには、node.jsを予めインストールしてください。
(参照)インストール手順:
①VSコードでターミナルを開き、cdコマンドでyarnコンポーネントを追加したいフォルダまで移動
$cd <yarnを追加したいディレクトリ>
②npmでyarnをインストールします。
$npm install -g yarn
③バージョンを確認
$yarn -v
終了
今回のエラーで間違って試したこと
参考資料を間違えていた。
参考URL②はLinux環境でnodeをインストールするものであり、今回Windows環境で開発を行うため、全く別のものをインストールしていました。
また、Linux環境がもともとないPCだったため、1から環境を作成したですが、Vimの知識がなかったため、編集方法に戸惑いました。参考URL③はとても分かりやすかったので、是非参考にしていただけたらと思います。
参考URL
①【Qiita】yarn:一生インストールできない
②yarnのインストールができない
③Vim編集方法
④PowerShell 実行ポリシー