WindowsでNode.jsの環境構築

参考

node.js


ChocolateyでNode.jsをインストールする場合

cinst -y nodejs

Vagrant環境でNode.jsを用意する場合

VagrantVagrantでPHPとnode.jsのコマンドラインツール環境 を参照


nodistでNode.jsの複数バージョンを共存する場合

参考

nodist

概要:Natural node version manager for windows.

ChocolateyでNode.jsを インストールしない で以下を実行。

mkdir C:\tools\nodist
git clone https://github.com/marcelklehr/nodist C:\tools\nodist
set NODIST_PREFIX=C:\tools\nodist
set PATH=%PATH%;C:\tools\nodist\bin
nodist selfupdate
npm config set prefix %NODIST_PREFIX%\bin

警告

  • set は、ふつーにダイアログから環境変数を設定すること。
  • setx で、 %PATH% を編集しないこと。

bat でサイレントインストールする場合

概要:DIY installation をバッチファイルで実行する(C:\tools\nodist に展開する。)
実行手段:2つのファイルを同じパスに配置して、batファイルを実行する

install-nodist-download.ps1

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
New-Item "C:\tools\nodist" -type Directory

$url = 'https://github.com/marcelklehr/nodist/archive/master.zip'
$file = "C:\tools\nodist.zip"

#Invoke-WebRequest -Uri $url -OutFile $file
#Download-File $url $file
  Write-Host "Downloading $url to $file"
  $downloader = new-object System.Net.WebClient
  $downloader.Proxy.Credentials=[System.Net.CredentialCache]::DefaultNetworkCredentials;
  $downloader.DownloadFile($url, $file)

$sh = New-Object -ComObject Shell.Application
$objUnzipDir = $sh.NameSpace('C:\tools\nodist\')
$objZipPath = $sh.NameSpace($file)
$objUnzipDir.CopyHere($objZipPath.ParseName('nodist-master').GetFolder.Items())
[Environment]::SetEnvironmentVariable('NODIST_PREFIX', 'C:\tools\nodist', 'Machine')
[Environment]::SetEnvironmentVariable('PATH', [Environment]::GetEnvironmentVariable('PATH', 'Machine') + ';C:\tools\nodist\bin', 'Machine')
[Environment]::SetEnvironmentVariable('NODE_PATH', [Environment]::GetEnvironmentVariable('NODE_PATH', 'Machine') + 'C:\tools\nodist\bin\node_modules', 'Machine')

install-nodist.bat

1
2
3
4
5
6
7
8
@echo off
powershell -NoProfile -ExecutionPolicy unrestricted -Command ".\install-nodist-download.ps1"
SET NODIST_PREFIX=C:\tools\nodist
SET PATH=%PATH%;C:\tools\nodist\bin
SET NODE_PATH=C:\tools\nodist\bin\node_modules;%NODE_PATH%
nodist selfupdate
npm config set prefix "%NODIST_PREFIX%\bin"
npm install npm -g

注釈

  • PowerShell(nodist-install-download.ps1) で環境変数を設定している。
  • バッチファイルの環境変数設定は、現在のセッション用。

npm

参考

npm

概要:パッケージマネージャー。node プログラムのインストール、公開、管理。

global 環境の設定

初回インストール時

npm install --global npm-check-updates
npm install --global bower
npm install --global gulp
npm install --global grunt-cli

インストール済みのパッケージ一覧表示

C:\>npm list -g --depth=0
C:\tools\nodist\bin
├── csslint@0.10.0
├── htmlhint@0.9.7
├── jscs@1.13.1
├── jshint@2.7.0
├── npm@2.10.0
├── pleeease-cli@3.2.7
└── uglify-js@2.4.21


C:\>

アップデート確認

npm-check-updates --global
composer global update --dry-run

アップデート実施

nodist selfupdate
npm-check-updates --global --upgrade
composer global update

プロジェクト毎の設定

初回構築時(package.json)

npm init
npm install --save-dev gulp
npm install --save-dev gulp-htmlhint
npm install --save-dev gulp-pleeease
npm install --save-dev gulp-csscomb
npm install --save-dev gulp-csslint
npm install --save-dev gulp-jshint
npm install --save-dev gulp-jscs
npm install --save-dev gulp-jscpd
npm install --save-dev gulp-plato
npm install --save-dev gulp-uglify
npm install --save-dev gulp-jsonlint

初回構築時(bower.json)

bower init
bower --save jquery
bower --save bootstrap

初回構築時(各種設定ファイルの作成)

.editorconfig
.htmlhintrc
.jshintignore
.jshintrc
.pleeeaserc

初回構築時(gulpfile.jsの作成)


設定ファイル(composer.json)作成済みで環境構築する場合

composer install

アップデート確認

npm-check-updates

アップデート実施

npm-check-updates -u

npm Yeoman

ChocolateyでNode.jsをインストールした場合、 Node.js command prompt から実行する。
ChocolateyでYeomanを インストールしない で以下を実行。
npm install -g bower grunt-cli yo