Saya telah mencari halaman modul wiki, tetapi saya tidak dapat menemukan yang mirip dengan virtualenv (python) atau rvm.
Adakah yang memisahkan node.js di env mereka sendiri? Saya benar-benar tidak suka menginstal seluruh sistem npm.
Saya telah mencari halaman modul wiki, tetapi saya tidak dapat menemukan yang mirip dengan virtualenv (python) atau rvm.
Adakah yang memisahkan node.js di env mereka sendiri? Saya benar-benar tidak suka menginstal seluruh sistem npm.
Jawaban:
Jika memiliki paket npm lebar sistem adalah masalah utama Anda, maka mungkin pertimbangkan untuk menggunakan perintah 'bundle' yang sangat keren dengan npm. Ini lebih dekat ke pembekuan permata atau menggunakan bundler di rails, daripada rvm.
Sangat mudah. Cukup buat file package.json:
{ "name": "yourapp", "version": "0.0.1", "dependencies": {"jade": "0.4.1"}}
lalu jalankan:
npm bundle vendor
atau jika versi npm Anda> = 1.0 jalankan:
npm install
membeku ke direktori vendor. lalu gunakan:
require.paths.unshift('./vendor');
npm install
diganti npm bundle
pada NPM 1.0, saya percaya.
nodeenv - lingkungan virtual untuk node.js (Analog virtualenv )
node.js
lingkungan diaktifkan bersama dengan lingkungan Python. Lihat nodeenv -p
.
Ada juga beberapa sistem manajemen versi Node yang dapat membantu.
Lihat Nave https://github.com/isaacs/nave
NVM juga dapat digunakan https://github.com/creationix/nvm
Ada juga yang disebut n https://github.com/visionmedia/n
nvm
atau n
dan ingin beralih otomatis ketika Anda mengubah direktori, lihat avn
: github.com/wbyoung/avn
Jawaban bxjx secara konseptual akurat. Namun, harap dicatat bahwa perintah bundel tidak lagi mengambil direktori. Itu selalu menjatuhkan paket ke node_modules
folder, sehingga npm tahu di mana menemukannya nanti (dan dapat menghindari ketergantungan instal ganda).
Solusi apa pun mungkin melibatkan menginstal npm dan nave "sistem-lebar" (yaitu, di Anda PATH
, yang mungkin di ~
suatu tempat), tetapi kemudian hanya menginstal dependensi spesifik Anda di lingkungan virtual.
Saya merespons lebih menyeluruh pada masalah github .
tl; dr: Kasus penggunaannya valid dan bermanfaat, dan meskipun sebagian besar ada di sana, namun tidak sebaik yang seharusnya. Kita harus memastikan untuk memikirkannya dan melakukannya dengan benar.
Anda tidak selalu perlu menginstal dependensi secara global. Biasanya ini direkomendasikan karena Anda dapat menggunakan perintah yang disediakan paket npm, tetapi jika Anda menginstalnya secara lokal (di node_modules
direktori), Anda juga dapat menggunakan perintah ini, perintah itu hanya berakhir di node_modules/.bin/
direktori, jadi Anda harus mengetik node_modules/.bin/<command>
, yang menjengkelkan, tetapi tentu saja Anda dapat menambahkan jalur ini ke PATH
variabel lingkungan Anda :
export PATH=node_modules/.bin:$PATH
Maka Anda bisa mengetik <command>
dan berfungsi!
Sebenarnya ada perintah npm yang mengembalikan jalur absolut ke .bin
direktori:
$ npm bin
/path/to/node_modules/.bin
Perintah ini juga berfungsi ketika Anda berada dalam subdirektori proyek, itu akan mengembalikan node_modules/.bin
direktori pertama yang ditemukannya di direktori induknya.
Anda dapat menambahkan alias ini di Anda .bashrc
untuk secara otomatis menambahkan .bin/
direktori ke PATH
:
alias nodebin='export PATH=$(npm bin):$PATH'
Jadi ketika Anda berada di direktori proyek yang memiliki node_modules/
direktori di root, Anda bisa mengetik nodebin
dan kemudian Anda bisa menggunakan semua perintah yang ada di .bin/
direktori!
terlihat ada cara yang lebih baik:
Menginstal Node.js dan npm ke dalam Python Virtualenv
sekarang saya dapat menggunakan alat simpul tanpa mengacaukan lingkungan bin global
Jika Anda seperti itu sederhana, saya benar-benar merekomendasikan visionmedia ini n , tidak bisa lebih mudah!
npm install
untuk ini.