Wiki modülleri sayfasını aradım, ancak virtualenv (python) veya rvm'ye benzer bir şey bulamıyorum.
Burada herkes kendi ortamındaki node.js'yi ayırıyor mu? Sistem genelinde npm kurmayı gerçekten sevmiyorum.
Wiki modülleri sayfasını aradım, ancak virtualenv (python) veya rvm'ye benzer bir şey bulamıyorum.
Burada herkes kendi ortamındaki node.js'yi ayırıyor mu? Sistem genelinde npm kurmayı gerçekten sevmiyorum.
Yanıtlar:
Sistem genelinde npm paketlerine sahip olmak ana sorununuzsa, npm ile çok havalı 'paket' komutunu kullanmayı düşünebilirsiniz. Bu, rvm yerine mücevherleri dondurmaya veya raylarda paketleyiciyi kullanmaya daha yakındır.
Bu çok kolay. Bir package.json dosyası oluşturun:
{ "name": "yourapp", "version": "0.0.1", "dependencies": {"jade": "0.4.1"}}
ve sonra çalıştırın:
npm bundle vendor
veya npm sürümünüz> = 1.0 çalıştırılıyorsa:
npm install
satıcı dizinine dondurmak için. ve sonra şunu kullanın:
require.paths.unshift('./vendor');
npm install
değiştirildiğine npm bundle
inanıyorum.
nodeenv - node.js için sanal ortam (Analog virtualenv )
node.js
ortamı Python ortamı ile birlikte devreye girer. Bakın nodeenv -p
.
Yardımcı olabilecek bazı Node sürümü yönetim sistemleri de vardır.
Nave'e bakın https://github.com/isaacs/nave
NVM, https://github.com/creationix/nvm de kullanılabilir
Ayrıca n https://github.com/visionmedia/n adında bir tane var
nvm
veya n
otomatik geçiş istiyorsanız, şu adrese bakın avn
: github.com/wbyoung/avn
bxjx'in cevabı kavramsal olarak doğrudur. Ancak, lütfen paket komutunun artık bir dizin almadığını unutmayın. Bu hep içine paketleri düşer node_modules
o npm sonra onları bulmak için (ve çift yükleyerek bağımlılıkları önleyebilirsiniz) bilir nerede böylece, klasör.
Herhangi bir çözüm muhtemelen npm ve nave "sistem çapında" (yani, sizin içinde PATH
, bir ~
yerde olabilir ) yüklemeyi, ancak daha sonra yalnızca belirli bağımlılıklarınızı sanal ortama yüklemeyi içerecektir .
Github konusuna daha kapsamlı yanıt verdim .
tl; dr: Kullanım durumu geçerli ve yararlıdır ve çoğunlukla orada olsa da, olabileceği kadar iyi sunulmamaktadır. Bunu iyice düşündüğümüzden ve doğru yaptığımızdan emin olmalıyız.
Her zaman küresel olarak bağımlılıklar yüklemenize gerek yoktur. Genellikle önerilir, çünkü o zaman npm paketlerinin sağladığı komutları kullanabilirsiniz, ancak yerel olarak ( node_modules
dizine) yüklerseniz , bu komutları da kullanabilirsiniz, bunlar yalnızca dizine sarılır node_modules/.bin/
, bu nedenle yazmanız gerekir node_modules/.bin/<command>
, bu can sıkıcı bir durumdur, ancak tabi ki bu yolu PATH
ortam değişkeninize ekleyebilirsiniz :
export PATH=node_modules/.bin:$PATH
O zaman sadece yazabilirsiniz <command>
ve işe yarıyor!
Aslında .bin
dizine mutlak bir yol döndüren bir npm komutu vardır :
$ npm bin
/path/to/node_modules/.bin
Bu komut, projenin bir alt dizinindeyken de çalışır, node_modules/.bin
üst dizinlerinde bulduğu ilk dizini döndürür .
Dizini .bashrc
otomatik olarak şuraya eklemek için bu takma adı şuraya ekleyebilirsiniz :.bin/
PATH
alias nodebin='export PATH=$(npm bin):$PATH'
Yani node_modules/
, kök dizininde bir dizini olan bir projenin dizinindeyken, yazabilir nodebin
ve ardından .bin/
dizindeki tüm komutları kullanabilirsiniz !
daha iyi bir yol var gibi görünüyor:
Node.js ve npm'yi bir Python Virtualenv'e yükleme
artık genel depo ortamını karıştırmadan düğüm araçlarını kullanabiliyorum
Eğer basit gibi ben gerçekten visionmedia en tavsiye ederse n , daha kolay olamazdı!
npm install
için kullandığını anlıyorum .