Wikiモジュールページを検索しましたが、virtualenv(python)またはrvmに似たものは見つかりません。
ここの誰もが独自の環境でnode.jsを分離していますか? npmをシステム全体にインストールするのは本当に嫌いです。
システム全体のnpmパッケージを使用することが主な問題である場合は、npmで非常にクールな「バンドル」コマンドを使用することを検討してください。これは、rvmではなく、gemsを凍結するか、Railsでバンドラーを使用することに近い方法です。
とても簡単です。 package.jsonファイルを作成するだけです:
{ "name": "yourapp", "version": "0.0.1", "dependencies": {"jade": "0.4.1"}}
次に実行します:
npm bundle vendor
または、npmバージョンが1.0以上の場合:
npm install
ベンダーディレクトリにフリーズします。次に使用します:
require.paths.unshift('./vendor');
nodeenv -node.jsの仮想環境(アナログ virtualenv )
役立つことができるNode=バージョン管理システムもあります。
Naveをご覧ください https://github.com/isaacs/nave
NVMも使用できます https://github.com/creationix/nvm
N https://github.com/visionmedia/n と呼ばれるものもあります
bxjxの答えは概念的に正確です。ただし、bundleコマンドはディレクトリを取得しないことに注意してください。 italwaysは、パッケージをnode_modules
フォルダーにドロップします。これにより、npmは後でそれらの場所を見つけることができます(依存関係の二重インストールを回避できます)。
どのソリューションでも、おそらくnpmとnaveを「システム全体」にインストールする必要があります(つまり、PATH
には~
にある可能性があります)が、その後は仮想環境の特定の依存関係。
私はより徹底的に応答しました githubの問題について 。
tl; dr:ユースケースは有効で有用であり、主に使用されていますが、十分に機能していません。私たちはそれをよく考え、正しく実行する必要があります。
依存関係を常にグローバルにインストールする必要はありません。通常は、npmパッケージが提供するコマンドを使用できるためお勧めしますが、ローカル(node_modules
)ディレクトリにインストールした場合、これらのコマンドも使用でき、node_modules/.bin/
でのみ使用できます。ディレクトリなので、node_modules/.bin/<command>
と入力する必要がありますが、これは迷惑ですが、もちろんこのパスをPATH
環境変数に追加できます。
export PATH=node_modules/.bin:$PATH
次に<command>
と入力するだけで機能します!
実際には、.bin
ディレクトリへの絶対パスを返すnpmコマンドがあります。
$ npm bin
/path/to/node_modules/.bin
このコマンドは、プロジェクトのサブディレクトリにいるときにも機能し、親ディレクトリで見つかった最初のnode_modules/.bin
ディレクトリを返します。
.bashrc
にこのエイリアスを追加して、.bin/
ディレクトリをPATH
に自動的に追加できます。
alias nodebin='export PATH=$(npm bin):$PATH'
そのため、ルートにnode_modules/
ディレクトリがあるプロジェクトのディレクトリにいる場合、nodebin
と入力すると、.bin/
にあるすべてのコマンドを使用できます。ディレクトリ!
シンプルなものが好きなら、visionmediaの n をお勧めします。