通常、Windowsでnode-gypによるコンパイルを行うには、コンパイル環境として次のどちらかが必要になります。
- Visual Studio 2015 (Visual C++をオプションで選択)
- Visual C++ 2015 Build Tools
※ windows-build-toolsでのインストールはVisual C++ 2015 Build Toolsを自動的にインストールするだけです。
ですが、現在、Visual Studio Community 2017(以下VS2017)を入れている環境であり、できれば他のバージョンのVisual Studioは入れたくありません(コンポーネントの管理が複数になるため)。VS2017ではVC++2015ツールセットをオプションでインストールすることができますので、これでなんとかできないかとかれこれ半年ほど試行錯誤してきましたが、未だにできていません。
ということで、VS2017のインストーラーであるVisual Studio Installerで入れられるものだけでnode-gypによるコンパイルができる環境にする方法は無いのでしょうか?
###環境
Windows 10 Pro 1709 (つい先日まで1703でしたが、とくに変わってなかったです)
VS2017でインストールするコンポーネント
- デスクトップ用の VC++ 2015.3 v140 ツールセット (x86、x64)
- Python 2 (2.7.13) (32 ビット)
- Python 2 (2.7.13) (64 ビット)
- Windows 8.1 SDK
※ 関係あるのは上記だけだと思いますが、他にもC#やVC++2017などもインストールしています。
※ Pythonについては公式のパッケージやAnacondaのパッケージに変えてやったりもしましたが、できませんでした。
環境変数
GYP_MSVS_VERSION=2015
node_config
msvs_version = "2015" python = (Pythonのパス)
※ pythonについては入れたときのPythonによって変えていました。
###参考にした情報
https://github.com/npm/npm/issues/10421#issuecomment-336092786
VS2017のVC++2015のバッチのバグはなおっているという情報もあります。バッチをたたき、VCTargetsPathも設定して、「"C:\Microsoft.Cpp.Default.props"がみつかりません」は出なくなりましたが、違うエラーが出て、もう、よくわかりません。
その他「私はこれでうまくいった」という情報はnode関係のissuesやStackOverflowで見かけては、全て試してきまたつもりですが、一度も成功していません。その人の環境が詳しく書いていなくて、私の環境と何が違うのかがわかりません。
本当はなんとか自分で調べきってQiitaに記事にしようとしたのですが、ことごとく失敗に終わったために断念している状態です。
Win10 + VS2017 (VS2015や個別でVC++ Build Toolを入れていない)という環境で、node-gypを使ったコンパイルができているって方が居れば、ぜひ、どうやってセットアップしたかを教えてください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/30 13:11
2017/10/30 14:51
2017/10/30 14:59
2017/10/30 15:31
2017/10/30 22:08
2017/10/31 02:11
2017/10/31 12:24