anyenvで入れてみる
前回と同様、anyenvを利用して入れてみる。
$ anyenv install ndenv $ exec $SHELL -l
利用可能なバージョンを一覧表示して、選んだ一つをインストール
$ ndenv install --list ..利用できる一覧がでる $ ndenv install v0.11.11
特に何も出力されずに終わった...?????
$ cat /tmp/node.build-XXXXXXXXXXXXXXX.XXXX.log ..特になにも出力されず
特にログも出てない....!!!!???? 試しにanyenvではなく、ndenvを利用してもダメだった。。 何が悪いんだろう。。 時間がとれたときにまた調査してみることに。
ええい、もうWindows版をいれてCygwinから利用してみる
node.jsからWindows(.msi)の32-bit版をダウンロードして、インストールした(特に変わったことはしてない)。
$ node -v v0.10.26 $ npm -v 1.4.3
あるjavascriptのアプリを動かしてみようとしたところ、 expressが無いと。
$ node server.js module.js:340 throw err; ^ Error: Cannot find module 'express' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (D:\software\cygwin\tmp\d3AngularIntegration\server.js:4:13) at Object.<anonymous> (D:\software\cygwin\tmp\d3AngularIntegration\server.js:14:4) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12)
expressをグローバル(どこからでも利用できる形式)で入れる。 何か怒られた。
$ npm install -g express /cygdrive/d/software/nodejs/npm: line 2: $'\r': コマンドが見つかりません /cygdrive/d/software/nodejs/npm: line 4: $'\r': コマンドが見つかりません /cygdrive/d/software/nodejs/npm: line 5: 期待してない token `$'in\r'' のあたりにシンタックスエラー 'cygdrive/d/software/nodejs/npm: line 5: `case `uname` in
Node.jsをWindowsインストーラで入れたら、Cygwinのシェルでnpmがエラーになる - 死ぬまでの暇潰しによると改行コードがCR+LFが認識できないみたい。
改行コードが CR+LF のシェルスクリプトを Cygwin で実行 - ◆ICT備忘録で紹介されているように.bashrcに以下を書いてあげるとCR+LFが認識される。
export SHELLOPTS set -o igncr
これでexpressは入ったが、まだCan't findだと。 expressのパスをwhichで見て、NODE_PATHに追加してやる。
$ export NODE_PATH=$NODE_PATH:(expressのパス) >> ~/.bashrc
それでもCan't find。。もうローカルでいいや。
$ npm install express $ node server.js
ま、これはできました。 node.jsのパッケージの探し方は調査しないとなぁ。