まっさらなmacでNetBeansを使ってnodejsでhelloworldするまで

この記事は Node.js Advent Calendar 2014 の15日目の記事です。

0.この記事について

node未経験者が、まっさらなmacNetBeansを使ってnodejsでhelloworldするまでのログです。

  • 利用するOS
  • 想定する読者
    • 普段からプログラミングしているが、nodeは未経験な方
    • NetBeansでnodeを書きたい方

1.node で hello world する

1-1. Xcodeとhomebrewをインストール

ぶっちゃけnodeを利用するには必要かどうかわかりませんが、 macがまっさらなので、なにはともあれインストールします。

Xcodeをインストール

https://itunes.apple.com/jp/app/xcode/id497799835 からインストールします。

homebrewをインストール

http://brew.sh/index_ja.html を参考に、ターミナルで下記を実行します。

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

1-2.nodeをインストール

http://nodejs.org からインストールし、ターミナルで確認します。

nezumi$ node -v
v0.10.33

1-3.helloworldする

http://nodejs.org を参考にサンプルコードを用意します。

nezumi$ cat helloworld.js
var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World!\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
nezumi$

サーバーを起動します。

nezumi$ node helloworld.js
Server running at http://127.0.0.1:1337/

ブラウザから指定のURLにアクセスすると、Hello World! が出力されました。やった!

f:id:nz650:20141215104547p:plain

2.NetBeansでnodeを実行する

NetBeansでnodeを実行できるようにします。

2-1.NetBeansをインストール

http://www.oracle.com/technetwork/java/javase/downloads/index.html から「NetBeans with JDK 8」をインストールします。

2-2. nodeプラグインをインストール

NetBeansを起動し、ツール > プラグイン から「NodeJs」をインストールします。

f:id:nz650:20141215113642p:plain

プラグインの詳細は NodeJS - NetBeans Plugin detail で確認できます。

2-3. NetBeansからnodeを実行する

ファイル > 新規ファイル から、1-3 と同じファイルを用意します。

ファイル作成時、カテゴリは「その他」、ファイル・タイプは「JavaScriptファイル 」を選択してください。

nodeファイルのウィンドウ上で右クリック > Run with Node.js クリックで、nodeを実行します。

f:id:nz650:20141215114557p:plain

出力内容は、NetBeans上の別ウィンドウに表示されます。

f:id:nz650:20141215114618p:plain

node サーバーが起動し、ブラウザで確認できました。やった!

f:id:nz650:20141215114651p:plain

おまけ: 実行するnodeのパスを指定する

/bin/sh: line 1: node: command not found というエラーが出ることがあります。

f:id:nz650:20141215120318p:plain

この場合は、 Preference > その他 > Node.js > Default run command から、実行するnodeのパスを指定する事で解決します。

f:id:nz650:20141215120616p:plain