Sun 08/19, 2012

node.js on Raspberry pi [Computer and Networking ]

BeagleBone では Node.js による Web ベースの Cloud9 IDE が使用できた。Cloud9 のほうはひとまず置くとして、node.js を Raspberry pi にインストールしてみた。node.js 本体は apt でインストールできるので、BeagleBone の時と同様に Web アプリケーションフレームワークの express も導入する。バージョンは幾分上がっているものの手順は変わらない。

root@raspberrypi:/home/pi/nodejs# apt-get install nodejs-dev
以下の特別パッケージがインストールされます:
  libc-ares-dev libc-ares2 libev-dev libev4 libv8-3.8.9.20 libv8-dev nodejs
以下のパッケージが新たにインストールされます:
  libc-ares-dev libc-ares2 libev-dev libev4 libv8-3.8.9.20 libv8-dev nodejs nodejs-dev
アップグレード: 0 個、新規インストール: 8 個、削除: 0 個、保留: 10 個。
2,678 kB のアーカイブを取得する必要があります。
この操作後に追加で 7,064 kB のディスク容量が消費されます。
続行しますか [Y/n]?
取得:1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libc-ares2 armhf 1.9.1-3 [69.0 kB]
取得:2 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libv8-3.8.9.20 armhf 3.8.9.20-1+rpi1 [1,255 kB]
取得:3 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libv8-dev armhf 3.8.9.20-1+rpi1 [103 kB]
取得:4 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libc-ares-dev armhf 1.9.1-3 [134 kB]
取得:5 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libev4 armhf 1:4.11-1 [35.3 kB]
取得:6 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libev-dev armhf 1:4.11-1 [127 kB]
取得:7 http://mirrordirector.raspbian.org/raspbian/ wheezy/main nodejs armhf 0.6.19~dfsg1-2 [763 kB]
取得:8 http://mirrordirector.raspbian.org/raspbian/ wheezy/main nodejs-dev armhf 0.6.19~dfsg1-2 [191 kB]
2,678 kB を 10秒 で取得しました (249 kB/s)
Selecting previously unselected package libc-ares2:armhf.
(データベースを読み込んでいます ... 現在 60034 個のファイルとディレクトリがインストールされています。)
(.../libc-ares2_1.9.1-3_armhf.deb から) libc-ares2:armhf を展開しています...
Selecting previously unselected package libv8-3.8.9.20.
(.../libv8-3.8.9.20_3.8.9.20-1+rpi1_armhf.deb から) libv8-3.8.9.20 を展開しています...
Selecting previously unselected package libv8-dev.
(.../libv8-dev_3.8.9.20-1+rpi1_armhf.deb から) libv8-dev を展開しています...
Selecting previously unselected package libc-ares-dev:armhf.
(.../libc-ares-dev_1.9.1-3_armhf.deb から) libc-ares-dev:armhf を展開しています...
Selecting previously unselected package libev4.
(.../libev4_1%3a4.11-1_armhf.deb から) libev4 を展開しています...
Selecting previously unselected package libev-dev.
(.../libev-dev_1%3a4.11-1_armhf.deb から) libev-dev を展開しています...
Selecting previously unselected package nodejs.
(.../nodejs_0.6.19~dfsg1-2_armhf.deb から) nodejs を展開しています...
Selecting previously unselected package nodejs-dev.
(.../nodejs-dev_0.6.19~dfsg1-2_armhf.deb から) nodejs-dev を展開しています...
man-db のトリガを処理しています ...
libc-ares2:armhf (1.9.1-3) を設定しています ...
libv8-3.8.9.20 (3.8.9.20-1+rpi1) を設定しています ...
libv8-dev (3.8.9.20-1+rpi1) を設定しています ...
libc-ares-dev:armhf (1.9.1-3) を設定しています ...
libev4 (1:4.11-1) を設定しています ...
libev-dev (1:4.11-1) を設定しています ...
nodejs (0.6.19~dfsg1-2) を設定しています ...
update-alternatives: /usr/bin/js (js) を提供するために 自動モード で /usr/bin/node を使います。
nodejs-dev (0.6.19~dfsg1-2) を設定しています ...
root@raspberrypi:/home/pi/nodejs# node -v
v0.6.19
root@raspberrypi:/home/pi/nodejs# wget --no-check-certificate http://npmjs.org/install.sh
--2012-08-19 12:13:52--  http://npmjs.org/install.sh
npmjs.org (npmjs.org) をDNSに問いあわせています... 165.225.131.92
npmjs.org (npmjs.org)|165.225.131.92|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 301 Moved Permanently
場所: https://npmjs.org/install.sh [続く]
--2012-08-19 12:13:53--  https://npmjs.org/install.sh
npmjs.org (npmjs.org)|165.225.131.92|:443 に接続しています... 接続しました。
警告: `npmjs.org' の証明書は信用されません。
警告: `npmjs.org' の証明書の発行者が不明です。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 7882 (7.7K) [application/x-sh]
`install.sh' に保存中

100%[===========================================================================================================>] 7,882       41.1K/s 時間 0.2s

2012-08-19 12:14:02 (41.1 KB/s) - `install.sh' へ保存完了 [7882/7882]

root@raspberrypi:/home/pi/nodejs# ls
install.sh
root@raspberrypi:/home/pi/nodejs# bash install.sh
tar=/bin/tar
version:
tar (GNU tar) 1.26
Copyright (C) 2011 Free Software Foundation, Inc.
使用許諾 GPLv3+: GNU GPL version 3 またはそれ以降 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

[参考訳]
これはフリーソフトウェアです. 変更と再配布は自由です.
法律で認められる範囲で「無保証」です.

作者: John Gilmore, Jay Fenlason.
install npm@1.1
fetching: http://registry.npmjs.org/npm/-/npm-1.1.50.tgz
0.6.19
1.1.50
cleanup prefix=/usr
find: `/usr/lib/node': そのようなファイルやディレクトリはありません
find: `/usr/lib/node': そのようなファイルやディレクトリはありません

All clean!
/usr/bin/npm -> /usr/lib/node_modules/npm/bin/npm-cli.js
npm@1.1.50 /usr/lib/node_modules/npm
It worked
root@raspberrypi:/home/pi/nodejs# npm -v
1.1.50
root@raspberrypi:/home/pi/nodejs# npm install -g express
npm http GET https://registry.npmjs.org/express
npm http 200 https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/express/-/express-3.0.0rc3.tgz
npm http 200 https://registry.npmjs.org/express/-/express-3.0.0rc3.tgz
npm http GET https://registry.npmjs.org/connect/2.4.3
npm http GET https://registry.npmjs.org/commander/0.6.1
npm http GET https://registry.npmjs.org/range-parser/0.0.4
npm http GET https://registry.npmjs.org/mkdirp/0.3.3
npm http GET https://registry.npmjs.org/cookie/0.0.4
npm http GET https://registry.npmjs.org/crc/0.2.0
npm http GET https://registry.npmjs.org/fresh/0.1.0
npm http GET https://registry.npmjs.org/methods/0.0.1
npm http GET https://registry.npmjs.org/send/0.0.3
npm http GET https://registry.npmjs.org/debug
npm http 200 https://registry.npmjs.org/cookie/0.0.4
npm http GET https://registry.npmjs.org/cookie/-/cookie-0.0.4.tgz
npm http 200 https://registry.npmjs.org/commander/0.6.1
npm http 200 https://registry.npmjs.org/range-parser/0.0.4
npm http 200 https://registry.npmjs.org/mkdirp/0.3.3
npm http 200 https://registry.npmjs.org/crc/0.2.0
npm http 200 https://registry.npmjs.org/connect/2.4.3
npm http GET https://registry.npmjs.org/commander/-/commander-0.6.1.tgz
npm http GET https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz
npm http 200 https://registry.npmjs.org/send/0.0.3
npm http 200 https://registry.npmjs.org/methods/0.0.1
npm http 200 https://registry.npmjs.org/fresh/0.1.0
npm http 200 https://registry.npmjs.org/cookie/-/cookie-0.0.4.tgz
npm http GET https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.3.tgz
npm http GET https://registry.npmjs.org/crc/-/crc-0.2.0.tgz
npm http 200 https://registry.npmjs.org/debug
npm http 200 https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz
npm http 200 https://registry.npmjs.org/commander/-/commander-0.6.1.tgz
npm http GET https://registry.npmjs.org/connect/-/connect-2.4.3.tgz
npm http 200 https://registry.npmjs.org/crc/-/crc-0.2.0.tgz
npm http GET https://registry.npmjs.org/send/-/send-0.0.3.tgz
npm http GET https://registry.npmjs.org/methods/-/methods-0.0.1.tgz
npm http GET https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz
npm http GET https://registry.npmjs.org/debug/-/debug-0.7.0.tgz
npm http 200 https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz
npm http 200 https://registry.npmjs.org/debug/-/debug-0.7.0.tgz
npm http 200 https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.3.tgz
npm http 200 https://registry.npmjs.org/connect/-/connect-2.4.3.tgz
npm http 200 https://registry.npmjs.org/send/-/send-0.0.3.tgz
npm http 200 https://registry.npmjs.org/methods/-/methods-0.0.1.tgz
npm WARN package.json methods@0.0.1 No README.md file found!
npm WARN package.json connect@2.4.3 No README.md file found!
npm http GET https://registry.npmjs.org/mime/1.2.6
npm http 200 https://registry.npmjs.org/mime/1.2.6
npm http GET https://registry.npmjs.org/mime/-/mime-1.2.6.tgz
npm http 200 https://registry.npmjs.org/mime/-/mime-1.2.6.tgz
npm http GET https://registry.npmjs.org/qs/0.4.2
npm http GET https://registry.npmjs.org/formidable/1.0.11
npm http GET https://registry.npmjs.org/bytes/0.1.0
npm http GET https://registry.npmjs.org/pause/0.0.1
npm http 200 https://registry.npmjs.org/pause/0.0.1
npm http 200 https://registry.npmjs.org/qs/0.4.2
npm http GET https://registry.npmjs.org/pause/-/pause-0.0.1.tgz
npm http GET https://registry.npmjs.org/qs/-/qs-0.4.2.tgz
npm http 200 https://registry.npmjs.org/formidable/1.0.11
npm http 200 https://registry.npmjs.org/bytes/0.1.0
npm http 200 https://registry.npmjs.org/pause/-/pause-0.0.1.tgz
npm http 200 https://registry.npmjs.org/qs/-/qs-0.4.2.tgz
npm http GET https://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz
npm http GET https://registry.npmjs.org/bytes/-/bytes-0.1.0.tgz
npm http 200 https://registry.npmjs.org/bytes/-/bytes-0.1.0.tgz
npm http 200 https://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz
/usr/bin/express -> /usr/lib/node_modules/express/bin/express
express@3.0.0rc3 /usr/lib/node_modules/express
├─ methods@0.0.1
├─ fresh@0.1.0
├─ range-parser@0.0.4
├─ cookie@0.0.4
├─ crc@0.2.0
├─ commander@0.6.1
├─ debug@0.7.0
├─ mkdirp@0.3.3
├─ send@0.0.3 (mime@1.2.6)
└─ connect@2.4.3 (pause@0.0.1, bytes@0.1.0, qs@0.4.2, formidable@1.0.11)
root@raspberrypi:/home/pi/nodejs# npm install -g node-dev
npm http GET https://registry.npmjs.org/node-dev
npm http 200 https://registry.npmjs.org/node-dev
npm http GET https://registry.npmjs.org/node-dev/-/node-dev-0.2.6.tgz
npm http 200 https://registry.npmjs.org/node-dev/-/node-dev-0.2.6.tgz
npm http GET https://registry.npmjs.org/growl
npm http 200 https://registry.npmjs.org/growl
npm http GET https://registry.npmjs.org/growl/-/growl-1.5.1.tgz
npm http 200 https://registry.npmjs.org/growl/-/growl-1.5.1.tgz
/usr/bin/node-dev -> /usr/lib/node_modules/node-dev/node-dev
node-dev@0.2.6 /usr/lib/node_modules/node-dev
mqq growl@1.5.1
root@raspberrypi:/home/pi/nodejs# express hello

   create : hello
   create : hello/package.json
   create : hello/app.js
   create : hello/public
   create : hello/public/javascripts
   create : hello/public/images
   create : hello/public/stylesheets
   create : hello/public/stylesheets/style.css
   create : hello/routes
   create : hello/routes/index.js
   create : hello/views
   create : hello/views/layout.jade
   create : hello/views/index.jade

   install dependencies:
     $ cd hello && npm install

   run the app:
     $ node app

root@raspberrypi:/home/pi/nodejs# cd hello
root@raspberrypi:/home/pi/nodejs/hello# npm install
npm WARN package.json application-name@0.0.1 No README.md file found!
npm http GET https://registry.npmjs.org/express/3.0.0rc3
npm http GET https://registry.npmjs.org/jade
npm http 200 https://registry.npmjs.org/express/3.0.0rc3
npm http GET https://registry.npmjs.org/express/-/express-3.0.0rc3.tgz
npm http 200 https://registry.npmjs.org/jade
npm http GET https://registry.npmjs.org/jade/-/jade-0.27.2.tgz
npm http 200 https://registry.npmjs.org/express/-/express-3.0.0rc3.tgz
npm http 200 https://registry.npmjs.org/jade/-/jade-0.27.2.tgz
npm WARN package.json jade@0.27.2 No README.md file found!
npm WARN package.json connect@2.4.3 No README.md file found!
npm WARN package.json methods@0.0.1 No README.md file found!
npm http GET https://registry.npmjs.org/mkdirp/0.3.0
npm http 200 https://registry.npmjs.org/mkdirp/0.3.0
npm http GET https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz
npm http 200 https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz
express@3.0.0rc3 node_modules/express
├─ methods@0.0.1
├─ fresh@0.1.0
├─ range-parser@0.0.4
├─ cookie@0.0.4
├─ crc@0.2.0
├─ commander@0.6.1
├─ debug@0.7.0
├─ mkdirp@0.3.3
├─ send@0.0.3 (mime@1.2.6)
└─ connect@2.4.3 (pause@0.0.1, bytes@0.1.0, qs@0.4.2, formidable@1.0.11)

jade@0.27.2 node_modules/jade
├─ commander@0.6.1
├─ mkdirp@0.3.0
root@raspberrypi:/home/pi/nodejs/hello# node app
Express server listening on port 3000
GET / 200 718ms - 170
GET /stylesheets/style.css 200 71ms - 110

Posted by masato at 09:52 PM
このエントリーのトラックバックURL: http://bird.dip.jp/cgi-bin/mt/mt-tb.cgi/1836
コメントする

おそらく携帯電話等からは投稿できません。日本語文字列を含まないコメントやトラックバック、および当サイトへの言及を含まないトラックバックは御遠慮いただいております。また、90日以上経過した記事へのコメントはできません。










名前、アドレスを登録しますか?