ローカルnpmjs.orgを立てようとしたけどできなかったよ

ローカルnpmjs.orgを立てようとして失敗した記録。……ただ英語が読めなかった記録でもあります。
ほとんどGitHub - npm/npm-registry-couchapp: couchapp bits of registry.npmjs.orgに書いてあったものを実行したたけです。
環境:Debian 6.0.6 Squeeze on VirtualBox 4.2.4 with OS X Lion 10.7.5

必要なものをインストール

ネットインストールでインストールしたDebianにaptでいろいろ入れます。

# apt-get install -y couchdb build-essential git libssl-dev curl

データベースを作る

データベースを作ります。CouchDBなのでHTTPで出来て便利ですね。
そういえばなんでMongoDBでないのだろう……

# curl -X PUT http://localhost:5984/registry

npmjs.orgのリポジトリをクローンする

# git clone https://github.com/isaacs/npmjs.org.git
# cd npmjs.org

nodeとnpmをインストールする

面倒なのでnodebrewから入れます。(というか最近nodebrewでしか入れてなくて公式の方法知らない……)

# curl https://raw.github.com/hokaccha/nodebrew/master/nodebrew | perl - setup
# echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.bashrc 
# source ~/.bashrc 
# nodebrew install 0.8.14

必要なモジュールをインストールする

npmjs.orgが必要とするモジュールをインストールします。

# npm install couchapp -g
# npm install --production

何か

何かよくわからないですが(Sync the registry and searchって本家にってこと?)とりあえず実行。

# couchapp push registry/app.js http://localhost:5984/registry
# couchapp push www/app.js http://localhost:5984/registry

npmのレジストリを書き換える

npmが見るレジストリを変更します。

# echo 'registry = http://localhost:5984/registry/_design/app/_rewrite' >> ~/.npmrc
# npm search aaa

が、動かず。

# echo 'npmjs.org:registry = http://localhost:5984/registry' >> ~/.npmrc

とかやってみた気もしますが覚えておらず……
いろいろやってみたりしましたがよくわからず……


今回の収穫は

# npm --registry http://localhost:5984/registry/_design/app/_rewrite install <package>

とするとレジストリが切り替えられることがわかった事でしょうか。