13
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Node.jsAdvent Calendar 2015

Day 2

Node.jsをWindowsでビルドする

Last updated at Posted at 2015-12-01

モチベーション「Node.jsにcontributeしたい」

Node.js Adventcalendar 1日目のNode.js へのcontributeの仕方 - from scratchを読んで、Node.jsへcontributeしたい気持ちが高まりました。

testへのcontributeがオススメ

「コントリビュートの出発点」にオススメされているのがtestへのcontributeです。

testへのコントリビュートもまた盛んである。OS によってはコケたり、またタイミングが悪いとコケたりするコードのことを不安定なテスト、 flaky test と呼んでいて、これを撲滅する活動が盛んだからだ。

test フォルダ以下に {フォルダ名}.status という名前のファイルが有り、そこを見るとどれが flaky でどれが flaky じゃないかがわかると思う。

これを直すとかなり感謝されるし、取り込まれる可能性が最も高いコミットだとおもう。

また、 lib/ や src/ を修正したらほぼ確実に test/ を書くことが求められるので、常に test を書くクセが付くはずだ。

ここをコントリビュートの出発点にして欲しいと Node 学園祭に来た Rod Vagg も懇親会の二次会で言っていたので、間違いないだろう。

Rod Vagg オススメ!:smiley:

WindowsにFLAKYテストがある

statusを見るとWindowsのテストがFLAKYです。

[$system==win32]
test-debug-no-context                : PASS,FLAKY
test-tls-ticket-cluster              : PASS,FLAKY

では、Windowsでビルドしてみましょう。

VMWare Fusion上のWindowsでビルド

手元のPCがMacです。VMWare Fusion上のWindowsでビルドしてみます。

GithubのREADMEの手順で進めます。

準備

必要なもの

  • VisualStudio Community 2015
  • Python2
  • git

VisualStudio Community 2015をインストールします。

Chocolateyを使ってPythonをインストールします。
管理者権限のコマンドプロンプトで

choco install python2

pythonへのPATHはシステム環境変数に設定されます。
一回ログインし直します。

gitもchocolateyでインストールします。

choco install git.install

ビルド

git clone git@github.com:nodejs/node.git
cd node

続いて

vcbuild nosign

数十分後、次のメッセージが出ればビルド成功です。

     ライブラリ C:\Users\shigeru.nakajima\node\Release\node.lib とオブジェクト C:\Users\shigeru.nakajima\node\Release\node.exp を作成中
  コード生成しています。
  コード生成が終了しました。
  node.vcxproj -> C:\Users\shigeru.nakajima\node\Release\\node.exe

ビルドしたexeファイルを実行してみます。

> Release\node.exe -v
v6.0.0-pre

ビルド失敗

VisualStudio Community 2015をインストールしていても、次のエラーでビルドできないことがあります。

> vcbuild nosign
Looking for Visual Studio 2015
Looking for Visual Studio 2013
Failed to find Visual Studio installation.

原因

vcbuild.batはvcvarsall.batの有無でVisualStudioの有無を見分けます。

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VCを見ると、vcvarsall.batがありません。

CTdAifnUEAAF4Fx.png-large.png

vcvarsall.batは、Visual StudioのVisual C++用セットアップをするとできます。

対策

Visual C++用セットアップ

ファイル(F) > 新規作成(N) > プロジェクト(P)からテンプレート > Visual C++ > Install Visual C++ 2015 Tools for Windows Desktopを選びます。

参考リンク

C++/Visual Studio 2015 プログラミング

13
14
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
13
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?