ローカル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>
とするとレジストリが切り替えられることがわかった事でしょうか。