3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[超初心者]yarnがインストールできない

Last updated at Posted at 2023-09-24

目次

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を実行することができなかった。

PowerShell
$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」と入力し、右クリック>「管理者として実行」を押下。
image.png
2「このアプリがデバイスに変更を加えることを許可しますか?」>「はい」を押下
3PowerShellが起動。
image.png
4下記のコマンドを順に叩たく。
 参考URL④に同様の内容が書いているので、スコープの意味など気になる方はURLを参照してください。
①現在のセッションに影響を与えるすべての実行ポリシーを取得し、優先順位で表示する.

PowerShell
$Get-ExecutionPolicy -List
結果
        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       Undefined
 LocalMachine       Undefined

②CurrentUserのスコープを変更する。

書き方
$Set-ExecutionPolicy -ExecutionPolicy <PolicyName> -Scope <scope>

私の場合は下記のように変更しました。

PowerShell
$Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

③変更されているか確認する。

PowerShell
$Get-ExecutionPolicy -Scope CurrentUser
結果
RemoteSigned

④LocalMachine のスコープを変更する。(③と同様の書き方)

書き方
$Set-ExecutionPolicy -ExecutionPolicy <PolicyName> -Scope <scope>

私の場合は下記のように変更しました。

PowerShell
$Set-ExecutionPolicy -ExecutionPolicy AllSigned -Scope LocalMachine 

⑤変更されているか確認する。

PowerShell
$Get-ExecutionPolicy -Scope LocalMachine
結果
AllSigned

⑥最後に念のため、変更内容を一覧で確認する。

PowerShell
$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 実行ポリシー

3
1
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?