研修備忘録②

とあるIT系の研修で沼ったことを記録しておく～yarn編～

まじで心が折れかかった。
Macに買い換えようかとも思ったぐらいには（Windows愛用者）
約1週間格闘したこれをとりあえずメモ
いつかは参考にした記事のURLを貼りたいが多分忘れてる（大罪）

前提として、node.jsのインストールは終わっている。
'node -v' 'npm -v' は問題なくVSCordのターミナルで実行できている。
'npm install -g yarn' も実行できる。
Linuxのコマンドがある程度使えるようにしている。（Linux仮想環境作るのすげー簡単になってて感動した）

以下、メモ原文ママ

'yarn install' が実行できない
環境：Windows11

エラー
VSCord/コマンドプロンプト/ターミナル/WindowsPowerShellで 'yarn install'を実行すると以下のメッセージが表示

”yarn : 用語 'varn' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。”

考えられる原因
・nodejsが正しくインストールされていない
・nodejsインストール中に何らかのエラーが出ている
・WindowsPowerShellのコマンド実行権がない
・PATHが通っていない

やったこと
・nodejsを再インストール
　ついでに場所も確認。正しくインストールできてる
・WindowsPSのコマンド実行権限を変更
　管理者でWindowsPSを起動。
　Set-ExecutionPolicyで二項目を変更（何を変更したかは忘れた）
・PATHを通し、優先順位を変更
　”環境変数を変更”でPATHを通し、優先順位を上に持って行く。
　この時不要なPATHは消去、間違ったPATHよりも上に
・コマンドをPSのタブを開いて実行
　最初の一回はできなかった（原因不明。もしかしたらWindowsの機能的にPATHの変更やディレクトリの移動後は必ずアプリを立ち上げ直す必要があるかも）
　新しくWindowsPSを開き'yarn install'を実行。警告(※)がでたが成功。
　'yarn -v' 'yarn dev'も実行し、成功。
　ただしVSCordのターミナルではできなかったので、今後もWindowsPSでコマンドを実行する必要があるかもしれない（うちのPCが改造され過ぎてるのも原因のひとつかもしれないが・・・）

根本的に何が原因かわからなかったが、おそらくPATHだと思う（前もgitの設定でPATH関連に沼った）

追記：VSCordを立ち上げ直したら、ターミナルでもyarnコマンドを実行できたので、やはりPATHが原因だったと推測できる。基本的に自動でPATHは作られるが、確認すると変なところのPATHが通っていたので、何か設定を変える必要があるかもしれない。

(※)警告文が理解できないのでとりあえず'yarn install'実行時のやつ原文ママメモしとく
yarn install v1.3.2
(node:22520) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
[1/4] Resolving packages...
[2/4] Fetching packages...
info fsevents@2.3.2: The platform "win32" is incompatible with this module.
info "fsevents@2.3.2" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning "@vue/cli-plugin-babel > @vue/cli-shared-utils > node-fetch@2.6.7" has unmet peer dependency "encoding@^0.1.0".
warning "@vue/cli-service > terser-webpack-plugin@5.3.1" has unmet peer dependency "webpack@^5.1.0".
warning "@vue/cli-plugin-eslint > eslint-webpack-plugin@3.1.1" has unmet peer dependency "webpack@^5.0.0".
warning " > @vue/cli-plugin-unit-jest@5.0.4" has unmet peer dependency "@vue/vue2-jest@^27.0.0-alpha.3".
warning " > @vue/cli-plugin-unit-jest@5.0.4" has unmet peer dependency "ts-jest@^27.0.4".
warning " > jest@27.5.1" has unmet peer dependency "node-notifier@^8.0.1 || ^9.0.0 || ^10.0.0".
warning "@vue/cli-plugin-unit-jest > jest > @jest/core@27.5.1" has unmet peer dependency "node-notifier@^8.0.1 || ^9.0.0 || ^10.0.0".
warning "@vue/cli-plugin-unit-jest > jest > jest-cli@27.5.1" has unmet peer dependency "node-notifier@^8.0.1 || ^9.0.0 || ^10.0.0".
warning "@vue/cli-plugin-unit-jest > jest > @jest/core > @jest/reporters@27.5.1" has unmet peer dependency "node-notifier@^8.0.1 || ^9.0.0 || ^10.0.0".
warning "@vue/cli-plugin-unit-jest > jest > @jest/core > jest-config@27.5.1" has unmet peer dependency "ts-node@>=9.0.0".
warning "@vue/cli-plugin-unit-jest > jest > @jest/core > jest-config > jest-environment-jsdom > jsdom@16.7.0" has unmet peer dependency "canvas@^2.5.0".
warning "@vue/cli-service > webpack-bundle-analyzer > ws@7.5.7" has unmet peer dependency "bufferutil@^4.0.1".
warning "@vue/cli-service > webpack-bundle-analyzer > ws@7.5.7" has unmet peer dependency "utf-8-validate@^5.0.2".
warning " > @vue/cli-service@5.0.4" has unmet peer dependency "vue-template-compiler@^2.0.0".
warning " > @vue/cli-service@5.0.4" has unmet peer dependency "webpack-sources@*".
warning "@vue/cli-service > @vue/vue-loader-v15@15.9.8" has unmet peer dependency "webpack@^3.0.0 || ^4.1.0 || ^5.0.0-0".
warning "@vue/cli-service > @soda/friendly-errors-webpack-plugin@1.8.1" has unmet peer dependency "webpack@^4.0.0 || ^5.0.0".
warning "@vue/cli-service > copy-webpack-plugin@9.1.0" has unmet peer dependency "webpack@^5.1.0".
warning "@vue/cli-service > css-loader@6.7.1" has unmet peer dependency "webpack@^5.0.0".
warning "@vue/cli-service > css-minimizer-webpack-plugin@3.4.1" has unmet peer dependency "webpack@^5.0.0".
warning "@vue/cli-service > html-webpack-plugin@5.5.0" has unmet peer dependency "webpack@^5.20.0".
warning "@vue/cli-service > mini-css-extract-plugin@2.6.0" has unmet peer dependency "webpack@^5.0.0".
warning "@vue/cli-service > postcss-loader@6.2.1" has unmet peer dependency "webpack@^5.0.0".
warning "@vue/cli-service > progress-webpack-plugin@1.0.15" has unmet peer dependency "webpack@^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0".
warning "@vue/cli-service > vue-loader@17.0.0" has unmet peer dependency "webpack@^4.1.0 || ^5.0.0-0".
warning "@vue/cli-service > webpack-dev-server@4.7.4" has unmet peer dependency "webpack@^4.37.0 || ^5.0.0".
warning "@vue/cli-service > webpack-dev-server > webpack-dev-middleware@5.3.1" has unmet peer dependency "webpack@^4.0.0 || ^5.0.0".
warning "@vue/cli-service > webpack-dev-server > ws@8.5.0" has unmet peer dependency "bufferutil@^4.0.1".
warning "@vue/cli-service > webpack-dev-server > ws@8.5.0" has unmet peer dependency "utf-8-validate@^5.0.2".
warning " > @vue/vue3-jest@27.0.0-alpha.4" has unmet peer dependency "ts-jest@27.x".
warning " > @vue/vue3-jest@27.0.0-alpha.4" has unmet peer dependency "typescript@>= 3.x".
warning " > postcss-scss@4.0.3" has unmet peer dependency "postcss@^8.3.3".
warning " > sass-loader@12.6.0" has unmet peer dependency "fibers@>= 3.1.0".
warning " > sass-loader@12.6.0" has unmet peer dependency "node-sass@^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0".
warning " > sass-loader@12.6.0" has unmet peer dependency "sass-embedded@*".
warning " > sass-loader@12.6.0" has unmet peer dependency "webpack@^5.0.0".
[4/4] Building fresh packages...
Done in 58.20s.

解読はまた今度。