新しく用意したWidows11の環境で、Nodeのアプリを実行しようとyarn install
を実行したら以下のようなエラーが出た。
Error: Could not find any Visual Studio installation to use at VisualStudioFinder.fail
これの前にPythonがないよってエラーが出たので、そちらはPythonをインストーラーからインストールしたことで解決している。 このエラーはメモし忘れた。
Pythonをインストールしたら、以下のエラーが出た。
warning " > vue-jest@3.0.7" has unmet peer dependency "vue@^2.x".
warning " > vue-jest@3.0.7" has unmet peer dependency "vue-template-compiler@^2.x".
[4/4] Building fresh packages...
[1/6] ⠠ node-sass
[-/6] ⠠ waiting...
[-/6] ⠠ waiting...
[4/6] ⠠ deasync
error C:\git\suzu6\myblog\node_modules\deasync: Command failed.
Exit code: 1
Command: node ./build.js
Arguments:
Directory: C:\git\suzu6\myblog\node_modules\deasync
Output:
C:\git\suzu6\myblog\node_modules\deasync>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "" rebuild )
gyp info it worked if it ends with ok
gyp info using node-gyp@8.2.0
gyp info using node@16.13.0 | win32 | x64
gyp info find Python using Python version 3.10.0 found at "C:\Users\81905\AppData\Local\Programs\Python\Python310\python.exe"
gyp ERR! find VS
gyp ERR! find VS msvs_version not set from command line or npm config
gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt
gyp ERR! find VS could not use PowerShell to find Visual Studio 2017 or newer, try re-running with '--loglevel silly' for more details
gyp ERR! find VS looking for Visual Studio 2015
gyp ERR! find VS - not found
gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
gyp ERR! find VS
gyp ERR! find VS **************************************************************
gyp ERR! find VS You need to install the latest version of Visual Studio
gyp ERR! find VS including the "Desktop development with C++" workload.
gyp ERR! find VS For more information consult the documentation at:
gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
gyp ERR! find VS **************************************************************
gyp ERR! find VS
gyp ERR! configure error
gyp ERR! stack Error: Could not find any Visual Studio installation to use
gyp ERR! stack at VisualStudioFinder.fail (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:121:47)
gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:74:16
gyp ERR! stack at VisualStudioFinder.findVisualStudio2013 (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:351:14)
gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:70:14
gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:372:16
gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\util.js:54:7
gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\util.js:33:16
gyp ERR! stack at ChildProcess.exithandler (node:child_process:404:5)
gyp ERR! stack at ChildProcess.emit (node:events:390:28)
gyp ERR! stack at maybeClose (node:internal/child_process:1064:16)
gyp ERR! System Windows_NT 10.0.22000
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\git\suzu6\myblog\node_modules\deasync
gyp ERR! node -v v16.13.0
node-gypのエラーとWindowsでのセットアップ方法
https://github.com/nodejs/node-gyp#on-windows
エラー内の上のリンクに詳細とMac, Unix, Windowsでの解決方法がある。
…ただ、残念ながら上記のリンクでは解決しなかった。
こっちのVisual Studio 2017のビルドツールとPython2.7を利用する方法で進めてやっとできた。3時間くらいかかって中々つらい。
以下はうまくいった方の手順を説明する。
node-gypとは
node-gypについてgoogle翻訳すると、
node-gypはNode.jsのネイティブアドオンモジュールをコンパイルするためにNode.jsで記述されたクロスプラットフォームのコマンドラインツールです。
特徴
- 同じビルドコマンドは、サポートされているプラットフォームのいずれでも機能します
- Node.jsのさまざまなバージョンのターゲティングをサポートします
とのことです。
npm install -g node-gyp
node-gypのインストールはこれで、私が利用したパッケージのどこかで利用していたのだと思う。
エラーの解決とWindowsでのセットアップ方法
Mac, Unixも解決方法があるが、Windowsについてだけ書く。
- Python2.7をインストールしてnpm configに設定する
- Visual Studio 2017の"Desktop development with C++"をインストールする
- コマンドプロンプトで
npm config set msvs_version 2017
を実行する。
1. Python2.7をインストールしてnpm configに設定する
https://www.python.org/downloads/release/python-2715/
からPython2.7をインストールする。 インストーラーは「Windows x86-64 MSI installer」を利用した。
npm config set python python2.7
でnpmでPyhton2.7を利用することを設定します。
>npm config set python python2.7
>npm config get python python2.7
python=python2.7
python2.7=undefined
最新の3.10
をインストールした場合はエラーが解決しなかった。謎。
Visual Studioビルドツールをインストールする
Visual Studioの**Desktop development with C++**をインストールします。
最新の2022
をインストールしたがエラーを解決できなかった。
Build Tools for Visual Studio 2017をインストールしました。
https://visualstudio.microsoft.com/ja/vs/older-downloads/#visual-studio-2017-and-other-products
何故かサインインすると別のページに連れていかれる。 戻ってもう一度ダウンロードボタンから次のページへ行ける。
vs_BuildTools.exe をダウンロードして実行する。
Visual C++ Bild Toolsをチェックしてインストールする。
3. コマンドプロンプトで npm config set msvs_version 2017
を実行する。
Build Tools for Visual Studio 2017をインストールしたのでバージョンは2017
とする。
>npm config set msvs_version 2017
>npm config get msvs_version
2017
OK
PCを再起動する。
yarn installを実行する
ビルド通ったぜ!