node.jsとnpmのインストールをしたメモ(CentOS さくらのVPS)
Posted: Updated:
node.jsでミニアプリを作ってみるテスト.の下準備
node.jsを少し触ってみたいと言うことで,ミニアプリを作ってみることにしました.今回はその下準備の過程をメモ.
Ubuntu+nginxでnode.js+npmのインストールからデプロイまで - mizchi logを参考に,node.jsとnpmのインストールをします.
nginxは,nginx+apacheでちょっぴり快適なWebサーバーを目指してみる(CentOS さくらのVPS) でインストール済みなので割愛.
node.jsのインストール
% git clone git://github.com/ry/node.git % cd node % ./configure Checking for program g++ or c++ : /usr/bin/g++ Checking for program cpp : /usr/bin/cpp Checking for program ar : /usr/bin/ar Checking for program ranlib : /usr/bin/ranlib Checking for g++ : ok Checking for program gcc or cc : /usr/bin/gcc Checking for gcc : ok Checking for library dl : yes Checking for openssl : not found Checking for function SSL_library_init : not found Checking for header openssl/crypto.h : not found /home/ahomu/node/wscript:303: error: Could not autodetect OpenSSL support. Make sure OpenSSL development packages are installed. Use configure --without-ssl to disable this message.
あらま.opensslは入っていたけど,openssl-develが入っていなかったので
% sudo yum install openssl-devel
で,openssl-develをインストール.
% make % sudo make install
無事に完了.
npmのインストール
まずはnpm本体のインストール.
$ sudo chown -R $USER /usr/local $ curl http://npmjs.org/install.sh | sh $ sudo chown -R root /usr/local $ sudo npm install express
パスが通らない
% sudo npm install mysql /usr/bin/env: node: No such file or directory
いざ実行すると,パスが通ってないとか言われてみたり.結構困っていろいろ調べたのですが,同居人にアドバイスもらって真相に近づき,最終的にはrubyインストールしてあるのにsudoすると「/usr/bin/env: ruby: そのようなファイルやディレクトリはありません」と言われるを参考に,以下のように.zshrcに設定を追加.
export PATH=/usr/local/bin:$PATH alias envsudo="sudo env PATH=$PATH"
% source ~/.zshrc
更新した.zshrcを読み込んで,これで解決しました.
2011/02/24 : sudoのことを誤解してました.sudoersを編集すればokっぽいです.後述.
2011/02/24追記
sudo時の環境変数周りの設定は,visudoとかで/etc/sudoersを編集すればよかったみたいです.
Defaults env_reset Defaults:%wheel !env_reset Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR \ LS_COLORS MAIL PS1 PS2 QTDIR USERNAME \ LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC \ LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS \ _XKB_CHARSET XAUTHORITY"
こんな感じで,wheelグループはenv_resetが行われないようにしたら,パスが通って通常のsudoで実行できるようになります.
npmでモジュールをインストール
ここでは,node.jsとMySQLで割と普通のデータベースウェブアプリを作ってみるチュートリアル | さくらたんどっとびーずを参考に実装を試すつもりなので,それに倣ってモジュールを3つインストール.
% sudo npm install mysql % sudo npm install express % sudo npm install ejs
npmもふつうに使えるようになったので,これで初期セットアップはOK.
次は実装
次回以降でアプリの実装に進みます.作るアプリは,面白くも何ともないのですが,たぶん諸般の事情でタイムカード的なアプリの予定.