いろいろハマったのでメモ。
これ書いたときのバージョン
- PowerShell: 5.1.17134.165
- scoop:
- nvm: 1.1.7
- yarn: 1.10.1
実際の手順
PowerShell を管理者権限で実行する
管理者権限じゃないと、後続手順のどこかで失敗しました (どこだか忘れた)
PowerShell でのスクリプトの実行を一時的に許可する
デフォルトではスクリプトの実行が許可されてないので、許可します。
この許可は、このシェルでだけ有効です。
(参考: PowerShellのExecutionPolicyのスコープとかについて詳しく )
PS> Set-ExecutionPolicy RemoteSigned -Scope Process
scoop をインストールする
PS> iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
scope で nvm と yarn をインストールする
PS> scoop install nvm yarn
yarn インストール時、「'node' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」というエラーが出ます。
でもどうしていいか分からないので無視しました… (まだ node 入れてないんだから無くて当然じゃない? って思う。。)
PowerShell を再起動する
nvm インストール時、「シェルを再起動してね」的なメッセージが出てたので再起動します。
(再起動しないとどう困るのかは試してないので知らない)
nvm で node をインストールする
これ書いてるときに入れたいバージョンが 8.12.0 なので、それを入れます。
PS> nvm install 8.12.0
PS> nvm use 8.12.0
nvm, yarn に Path を通す
インストールしただけだと Path が通らないみたいなので、PowerShell で Path を通します。 (参考: PowerShellで環境変数を参照、設定する )
PS> $env:Path += ";%USERPROFILE%\scoop\apps\nvm\current\nodejs\nodejs;%USERPROFILE%\scoop\apps\yarn\current\bin"
PS> [Environment]::SetEnvironmentVariable('PATH', $Env:Path, 'User')
ちゃんとインストールできてるか確認します
PS> nvm -v
PS> node -v
PS> yarn -v