#node.jsを使用するときのエラーの対処法
普段、Vue.JsのフレームワークであるNuxt.jsを使用して主に開発業務を行っているのですが、
node.jsでのエラーにはかなり悩まされました。
ちなみに私のOSはwindowsです。macユーザーLinuxの方はご参考程度に。
yarn devでプロジェクトは起動できるからといっかと無視できない下記のエラー
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
このエラーが出ている状態では、ライブラリが正常に入らなかったり、
yarnをしてもyarn.lockが入らなかったり、非常に厄介。
解決方法はググってみるといろいろ出ています。
オーソドックスなのが
##PowerShellの管理権限から"widows-build-tools"を入れる。
npm install --global --production windows-build-tools
node.js自体がそもそも、C言語やPythonで作られているようなので、python2.7やらCをインストールして
パスを通す必要があるようです。
上述のコマンドを入れるとすべて自動で入れてくれるという優れもの!
しかし、今回はこれではエラーが出たままでした(´;ω;`)
##Visual StudioのC++ Build Toolsを入れてパスを通す。
Visual StudioをインストールしてC++ Build Toolsというものをいれます。
VS Codeとは別ものですので注意!(私も知りませんでした、、、、)
windowsならデフォルトでVisual Studio Installer というものが入っていると思いますので、
それを使ってインストールすると下記のスクショのようになります。インストールされている状態です。
インストールするときは、C++ Build Toolsも一緒にインストールしてあげてください。(あとから変更もできるので忘れても大丈夫!)
変更ボタンを押して、C++ Build Toolsがインストールされているかどうか確認してみましょう。
問題なくインストールできています。
これでC++がインストールできたのか、、、、
もう少しです笑
今度は"C:\Users\your user name"のディレクトリ配下にbinding.gypという
ファイルを作成し下記のコードを入れます。
{
"targets": [{
"target_name": "binding",
"sources": [ "binding.vcxproj" ]
}]
}
参考サイトの"sources"と若干違うのは、VS C++ Build Toolsにパスを通してあげる形にするのがミソ!!
そのあとはコマンドプロンプトを起動し下記のコマンドを打っていきます。
$ node-gyp configure
↓
$ node-gyp configure --msvs_version=2019※すでに2019年版をインストールしていたため、2019指定です。
↓
$ node-gyp build
##エラーは頑張って対処するしかない。
エンジニアになって半年近くたちますが、いまだに辛いのが今回のようなエラーが起こった時。
でも最初は、俺嫌われてんのかと思いました。センスないんかなって(笑)
でも実は、みんな困ってる!(笑)
しっかりエラーを読み解いていくと私のような素人に毛が生えたようなエンジニアでもなんとか対処できました。
こういうチュートリアルが意外となかったので、
誰かの役に立てばと思い載せさせていただきました。
駆け出しエンジニアの皆さん!あきらめず一緒に頑張りましょう★