2013年9月9日月曜日

Node.jsバージョン管理ツールを導入する(Windows編)

Windowsで利用可能なNode.jsバージョン管理ツールは複数あるが、ここでは個人的に最も使い勝手の良いと思われるnodistの導入方法について説明する。

プロキシ環境下にある場合は過去の内容を参考にプロキシ設定する。
$ git config --global http.proxy http://proxy.example.com:8080
$ git config --global https.proxy http://proxy.example.com:8080
$ git config --global url."https://".insteadOf git://

nodistをインストールする。
$ git clone git://github.com/marcelklehr/nodist.git

PATHを通すために、下記の通りシステム環境変数をセットする(下記は該当箇所のみ抜粋)。
変数
Path %HOMEDRIVE%%HOMEPATH%\nodist\bin

64bit環境の場合は下記の通りシステム環境変数をセットする。
変数
NODIST_X64 1

プロキシ環境下にある場合は下記の通りシステム環境変数をセットする。なお、nodist内部でHTTPS_PROXYはHTTP_PROXYに置換されるようなので、現状、HTTPS_PROXYについては設定しなくても問題ないと思われる。
変数
HTTP_PROXY http://proxy.example.com:8080
HTTPS_PROXY http://proxy.example.com:8080

nodist依存関係ファイルをインストールする。
> nodist update

動作確認する。
> nodist -v
0.3.8

Node.jsの最新安定版をインストールしてみる。
> nodist dist
> nodist stable
0.10.18

使用するNode.jsのバージョンを指定する。
> nodist 0.10.18
> node -v
v0.10.18

Node.jsバージョン管理ツールを導入する

OS Xで利用可能なNode.jsバージョン管理ツールは複数あるが、ここでは個人的に最も使い勝手の良いと思われるnodebrewの導入方法について説明する。

プロキシ環境下にある場合は下記の通りプロキシ設定する。
$ vim ~/.bashrc
$ source ~/.bashrc

~/.bashrc
# proxy
export http_proxy="http://proxy.example.com:8080"
export https_proxy="http://proxy.example.com:8080"

nodebrewをインストールする。
$ curl -L git.io/nodebrew | perl - setup

PATHを通す。
$ vim ~/.bashrc
$ source ~/.bashrc

~/.bashrc
# nodebrew
NODEBREW_ROOT=$HOME/.nodebrew
export NODBREW_ROOT
# PATH
PATH=$PATH:${NODEBREW_ROOT}/current/bin

動作確認する。
$ nodebrew -v
nodebrew 0.6.3

Node.jsの最新安定版をインストールしてみる。
$ nodebrew ls-remote
$ nodebrew install-binary stable
fetch: http://nodejs.org/dist/v0.10.18/node-v0.10.18-darwin-x64.tar.gz

使用するNode.jsのバージョンを指定する。
$ nodebrew use v0.10.18
$ node -v
v0.10.18


補足

私の環境では.bash_profileで.bashrcファイルを読み込むようにしている。

~/.bash_profile
source ~/.bashrc

2013年9月8日日曜日

Node.jsをアンインストールする(Windows編)

Windows用インストーラ(.msi)を使ってインストールしたNode.jsをアンインストールする。


はじめに削除すべきフォルダ、ファイル、環境変数を確認する。


フォルダ
%HOMEDRIVE%\Program Files\nodejs
%USERPROFILE%\AppData\Roaming\npm
%USERPROFILE%\AppData\Roaming\npm-cache

ファイル(プロキシ等を設定しているとき)
%HOMEDRIVE%%HOMEPATH%\.npmrc

ユーザー環境変数
変数
PATH %USERPROFILE%\AppData\Roaming\npm\

システム環境変数(該当箇所のみ抜粋)
変数
Path %HOMEDRIVE%\Program Files\nodejs\


実際に削除を行う。


"プログラムと機能"からnodejsアンインストーラを起動する。アンインストーラにより、%HOMEDRIVE%\Program Files\nodejsフォルダ、ユーザー環境変数、システム環境変数が削除される。

アンインストーラの削除対象となっていない下記フォルダを手動で削除する(プロキシ等を設定している場合は.npmrcファイルも要手動削除)。
%USERPROFILE%\AppData\Roaming\npm
%USERPROFILE%\AppData\Roaming\npm-cache

2013年9月7日土曜日

プロキシ環境下でgitを使う

プロキシの設定


下記の通りプロキシ設定する。
$ git config --global http.proxy http://proxy.example.com:8080
$ git config --global https.proxy http://proxy.example.com:8080

これで手動でhttpまたはhttpsスキームを指定したgit clone等ができるようになる。
$ git clone https://github.com/joyent/node.git

gitスキームのまま使いたい場合(通常はこのケースが多いだろう)は下記を追加設定する。
$ git config --global url."https://".insteadOf git://

これでgitスキームのままgit clone等ができるようになる。
$ git clone git://github.com/joyent/node.git


プロキシ設定の確認


gitコマンドによる確認
$ git config --list
(該当箇所のみ抜粋)
http.proxy=http://proxy.example.com:8080
https.proxy=http://proxy.example.com:8080
url.https://.insteadof=git://

.gitconfigファイルの確認
$ less ~/.gitconfig
(該当箇所のみ抜粋)
[http]
        proxy = http://proxy.example.com:8080
[https]
        proxy = http://proxy.example.com:8080
[url "https://"]
        insteadOf = git://


プロキシ指定についての補足

認証付きプロキシサーバの場合は認証ID、PW込みでプロキシ指定する。また、認証ID、PW、プロキシサーバURLにURIとして使用できない文字(@等)が含まれる場合はURLエンコードすること。

書式
$ git config --global http.proxy http://認証ID:認証PW@プロキシサーバのURL:ポート番号
$ git config --global https.proxy http://認証ID:認証PW@プロキシサーバのURL:ポート番号

設定例(認証IDがfoo.bar@example.com、認証PWがhogepassの場合)
$ git config --global http.proxy http://foo.bar%40example.com:hogepass@proxy.example.com:8080
$ git config --global https.proxy http://foo.bar%40example.com:hogepass@proxy.example.com:8080