LoginSignup
6
2

More than 3 years have passed since last update.

node.jsのエラー解決方法 "gyp ERR! find VS You need to install the latest version of Visual Studio"

Posted at

node.jsを使用するときのエラーの対処法

普段、Vue.JsのフレームワークであるNuxt.jsを使用して主に開発業務を行っているのですが、
node.jsでのエラーにはかなり悩まされました。
ちなみに私のOSはwindowsです。macユーザーLinuxの方はご参考程度に。

yarn devでプロジェクトは起動できるからといっかと無視できない下記のエラー

Nuxt
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"を入れる。

PoweShell
npm install --global --production windows-build-tools

node.js自体がそもそも、C言語やPythonで作られているようなので、python2.7やらCをインストールして
パスを通す必要があるようです。
上述のコマンドを入れるとすべて自動で入れてくれるという優れもの!

しかし、今回はこれではエラーが出たままでした(´;ω;`)

Visual StudioのC++ Build Toolsを入れてパスを通す。

参考にしたのはこちらのサイト。↓
参考サイト(1)

Visual StudioをインストールしてC++ Build Toolsというものをいれます。
VS Codeとは別ものですので注意!(私も知りませんでした、、、、)
windowsならデフォルトでVisual Studio Installer というものが入っていると思いますので、
それを使ってインストールすると下記のスクショのようになります。インストールされている状態です。
インストールするときは、C++ Build Toolsも一緒にインストールしてあげてください。(あとから変更もできるので忘れても大丈夫!)

sample1.png

変更ボタンを押して、C++ Build Toolsがインストールされているかどうか確認してみましょう。
sample2.png

問題なくインストールできています。
これでC++がインストールできたのか、、、、
もう少しです笑

今度は"C:\Users\your user name\"のディレクトリ配下にbinding.gypという
ファイルを作成し下記のコードを入れます。

Python
{
    "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

エラーは頑張って対処するしかない。

エンジニアになって半年近くたちますが、いまだに辛いのが今回のようなエラーが起こった時。
でも最初は、俺嫌われてんのかと思いました。センスないんかなって(笑)
でも実は、みんな困ってる!(笑)
しっかりエラーを読み解いていくと私のような素人に毛が生えたようなエンジニアでもなんとか対処できました。
こういうチュートリアルが意外となかったので、
誰かの役に立てばと思い載せさせていただきました。
駆け出しエンジニアの皆さん!あきらめず一緒に頑張りましょう★

6
2
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
6
2