NodeJSのパッケージ管理

1812 ワード

8年目まで仕事をしていて、覚えられるものはもう覚えたと錯覚することがありますが、ここ数年は1年に2言語くらいC、C++、C#、Lisp、Ruby、Python、JavaScriptから何も学べないと思います.しかし私は間違っていて、最近NodeJSのものを見ていて、これは私に再び業界の最前線の技術を知っていて、実はまだ多くの学ぶことができることを知っています.
エディタも似ていて、Notepad++を始めて、それからVim、それからEmacs、それからVimに戻って、これから二度と交換しないと思って、最近まで私はまたSublime Text 2を使って、間もなくVimをきれいに投げました.
Linux Kernelのように、私がプログラマーになったときから見て、全然分からないことに気づいた.その中で何度もLinux Kernel Sourceを取って見ても分からなかった.時間が経つと、私は知っていた.これはカンジのようなもので、私は登ることができない.でも最近変わってきたようで、Linux Kernelに迷いはないと思っていたので、まだぼんやりしていましたが、どこから手をつけたのか分かりました.
NodeJSのパッケージ管理はnpm(Node Package Managerの略)を使用します.NodeJSパッケージの設計はPythonのpipとRubyのgemに比べて大きく変わり、パッケージを現在のディレクトリにインストールするかシステムディレクトリにインストールするかを選択でき、デフォルトでは現在のディレクトリにインストールできます.明らかな利点は、インストールされているパッケージの役割ドメインがローカルにあり、同じシステムに異なるバージョンのパッケージをインストールできることです.次に、導入時にこのプロジェクトディレクトリを導入すればいいので、サーバ側に適切なパッケージをインストールする必要はありません.これは現在のCloud Computingにとって便利です.多くのクラウドサービスはRoot権限を提供していません.例えば、RedHatのOpenShiftなどです.
NodeJSでは、次のコマンドを実行してパッケージをインストールできます.
$npm install express
このコマンドを実行すると、現在のディレクトリにnodeが追加されます.modulesのディレクトリです.このディレクトリはあなたのローカルパッケージのディレクトリです.あなたがインストールしたexpressはその中の1つのディレクトリにすぎません.別のパッケージをインストールすると、このディレクトリの下に対応するディレクトリを追加します.例:
$npm install ejs
インストールが完了したら、現在のディレクトリ構造を見てみましょう.
$ ls node_modules/

ejs  express

ejsが1つ増えたディレクトリだけを見ることができます.パッケージを削除するには、次のようにします.
$npm uninstall ejs
これには、同じパッケージを複数回インストールする必要があるという欠点があります.パッケージが多くのプロジェクトで参照されている場合は、このパッケージをシステムディレクトリ(全ローカルパッケージ)にインストールすることができます.これにより、新しいプロジェクトはインストールする必要がなく、このパッケージを直接参照することができます.
$npm install –g ejs
システムにローカルパッケージとグローバルパッケージがある場合は、ローカルにインストールされているパッケージが優先されます.
gitのプロファイルには3つのレベルがあります.
--local      => only effect on current project

--system   => effect on current logined user

--global    => effect on whole computer