スキップしてメイン コンテンツに移動

node.js に学ぶ、正しいコンパイル

node.jsでサーバーサイドJS体験というタイトルで、node.jsスゲーしようと思っていたら、その前に勉強しておかないといけなかった事があったようで・・・。

node.jsのインストールでかなり回り道したけれど、インストール周りの理解は深まったのでエントリーしました。


途中までおかしな事をしていますが、ありがちな事ということで包み隠さず書きます。




nodejs.orgから最新のソースコードをダウンロード
cd ~      # ホームに移動
wget http://nodejs.org/dist/node-v0.3.6.tar.gz
tar zxf node-v0.3.6.tar.gz
cd node-v0.3.6.tar.gz
./configure
ちょっとくらいエラーが出てても大丈夫でした。具体的には、
./configure --debug
これでsuccessfulになっていれば問題ないでしょう(問題なくmakeできました)。
そのあとは、
make
と、makeします。これが意外に時間掛かります。
build finished successfully (6m2.463s)
こんな感じでmake完了。
最後に、お決まりの
make install
ここでエラーが出た。もう無理だ・・・。
Cannot create folder '/usr/local/include/node/' (original error: [Errno 13] Permission denied: '/usr/local/include/node/')
ん・・・ちょっと待てよ。
sudo make install
'install' finished successfully (0.366s)
完了しました! 単なるパーミッションの問題でしたね。rootでぶった斬りました。
node.jsのコンパイルは素直でいいですね。好感度高いです。
yumやapt-getに飼い馴らされている昨今、リポジトリなんかがまともに整備されていないような尖ったソフトウェアを使うならコンパイルは必須です(最新版とリポジトリに開きがある場合がある)。

そして、node.jsにはパッケージマネージャがあるようですので、それもインストールしましょう。
curl http://npmjs.org/install.sh | sh
ウェブ経由でbashを動かすのか・・・。すごい世の中だ。
さて、サクっとインストール・・・。またエラー。/usr/local/以下のパーミッションが原因なので、sudoしましょうかね。
sudo curl http://npmjs.org/install.sh | sh
あれ、エラーだ。それなら・・・こうだ!
curl http://npmjs.org/install.sh | sudo sh
オーケーオーケー。万能コマンドsudoです。
んん~~?
Using sudo with npm is Very Not Recommended.
おぅ、npmの作者さんは、sudoしてインストールする事をオススメしてないようですね。セキュリティ上のリスクが大きいからでしょうか。
って事はよ。
node.jsもまずいんじゃ?
そこでnode.jsアンインストール。やり直します。セキュリティ怖い!
node-v0.3.6のディレクトリへ移動して、
sudo make uninstall
これが最後のsudoです・・・。

./configureする時にホーム以下にlocalというディレクトリを作るやり方がベストではなかろうかと書いています。

さらにもう少し資料をあたってみると、githubにらくちんbashが!!!
node-and-npm-in-30-seconds.shは、node.jsのコンパイル・インストール~npmのインストールまでやっちゃうbashのようですね! 30秒では終わらないでしょうけどね。

さらに、only-git-all-the-way.shというbashでは、node.jsとnpmをgithubからヘッドバージョンをクローンしてインストールしてくれるbashのようです。作者さん的には、こちらの方がオススメのようです。
せっかくなので、今回はgithubからインストールしてみます。
この場合は「git」が必要になりますので、yumしちゃってくだしあ(!!!!)。

only-git-all-the-way.sh

bashをローカルにコピーしたら、
sh only-git-all-the-way.sh
あとは眺めるだけでインストール完了です・・・。

コンパイルは必須なんて言ってたのはどの人でしょうかね・・・。(←結局ツールに頼っちゃった人)

node cli.js install npm
make: node: コマンドが見つかりませんでした
make: *** [install] エラー 127
なるほど・・・。俗に言う、「パスが通っていない」状態ですね。パスの設定は,「only-git-all-the-way.sh」の1行目に追記しているので、特に問題ないような気がします。でもパスは通っていないので
source ~/.bashrc
とやればオーケー。npmのインストールでつまずいていたようなので、その辺からやり直します。
cd npm
make install
ようやく完了しました。

長い戦いでした・・・。


コメント

このブログの人気の投稿

[VB.NET]オレオレ証明書でSSL通信するための短絡的な解決法

VB.NETソフトウェアでサーバーと通信することはよくある事だと思いますが、最近はHTTPを使って明けっ広げに刺しに行くよりHTTPSを使って暗号化してこそこそやった方が時代の流れに即した感じですよね(違うか)。 いちいちテスト環境でSSL証明書を用意するのも面倒だということで、セキュリティ的には全くよろしくない方法で迂回できるので紹介します。

[JS]Canvasでよく使う描画テクまとめ

HTMLで画像をいじくりたい時は、canvasを利用して編集するのは一般的ですが、WindowsストアアプリではHTML+CSS+JSでのアプリ開発ができる事もあって、簡単な画像編集であれば、C#やVBを使うより分かりやすいし資料が多く、C++でDirectXをガリガリ書くよりお手軽。入出力もファイルピッカーを使えば簡単に実装できます。今回は、Windowsのコードではなく、Canvasを利用する時のJavaScriptを使いどきに合わせてまとめていきます。

curl の基本的な使い方 -設定編-

今回のcurl TIPSは、curlをより日常的に使っていくためのHow toです。curlには、数多くのオプションが用意されていて、それらを組み合わせる事で様々な事が楽になるでしょう。サービス監視の自動化などにはまさにcurlの得意分野です。 今回は、curlを更に自分のものにしていくために大事なカスタマイズの部分を解説します。