Я шукав сторінку модулів вікі, але не можу знайти нічого подібного до virtualenv (python) або rvm.
Хтось тут відокремлює node.js у власному оточенні? Мені дуже не подобається встановлювати npm для системи.
Я шукав сторінку модулів вікі, але не можу знайти нічого подібного до virtualenv (python) або rvm.
Хтось тут відокремлює node.js у власному оточенні? Мені дуже не подобається встановлювати npm для системи.
Відповіді:
Якщо у вас є основні системні пакети npm - ваша головна проблема, можливо, варто подумати про використання дуже класної команди "bundle" з npm. Це ближче до заморожування дорогоцінних каменів або використання пакету в рейки, а не об / хв.
Це дуже просто. Просто створіть файл 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');
npm install
замінено npm bundle
на NPM 1.0, я вважаю.
nodeenv - віртуальне середовище для node.js (Analog virtualenv )
node.js
середовище активується разом із середовищем Python. Див nodeenv -p
.
Є також деякі системи управління версіями Node, які можуть допомогти.
Перевірте Nave https://github.com/isaacs/nave
NVM також можна використовувати https://github.com/creationix/nvm
Існує також одна назва, яка називається n https://github.com/visionmedia/n
nvm
або n
хочете автоматичного перемикання під час зміни каталогів, подивіться на avn
: github.com/wbyoung/avn
Відповідь bxjx концептуально точна. Однак зауважте, що команда bundle більше не приймає каталог. Він завжди скидає пакети в 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>
і це працює!
Насправді є команда npm, яка повертає абсолютний шлях до .bin
каталогу:
$ npm bin
/path/to/node_modules/.bin
Ця команда також працює, коли ви знаходитесь у підкаталозі проекту, вона поверне перший node_modules/.bin
каталог, який знайде у своїх батьківських каталогах.
Ви можете додати цей псевдонім у своє, .bashrc
щоб автоматично додати .bin/
каталог у свій PATH
:
alias nodebin='export PATH=$(npm bin):$PATH'
Тож, коли ви знаходитесь в каталозі проекту, який має node_modules/
каталог у корені, ви можете ввести, nodebin
а потім ви зможете використовувати всі команди, що знаходяться в .bin/
каталозі!
виглядає, є кращий спосіб:
Встановлення Node.js і npm в Python Virtualenv
тепер я можу використовувати інструменти вузлів, не псуючи глобальне середовище бінь
Якщо вам це подобається простий, я рекомендую visionmedia істинно ігровий п , не може бути простіше!
npm install
для цього.