есть ли виртуальная среда для узла.Джей?
Я искал страницу модулей wiki, но я не могу найти ничего похожего на virtualenv (python) или rvm.
любой здесь отделяет узел.js в своем собственном env? Я действительно не люблю устанавливать npm по всей системе.
8 ответов:
если наличие системных пакетов npm является вашей основной проблемой, то, возможно, рассмотрите возможность использования очень крутой команды "bundle" с npm. Это ближе к замораживанию драгоценных камней или использованию bundler в rails, а не rvm.
это очень просто. Просто создайте пакет.JSON-файл:
{ "name": "yourapp", "version": "0.0.1", "dependencies": {"jade": "0.4.1"}}
и затем выполнить:
npm bundle vendor
или если ваша версия npm >= 1.0 run:
npm install
чтобы заморозить в каталог поставщиков. а затем использовать:
require.paths.unshift('./vendor');
nodeenv - виртуальная среда для узла.js (аналог virtualenv)
есть также некоторые системы управления версиями узлов, которые могут помочь.
Проверьте Неф https://github.com/isaacs/nave
NVM также может быть использован https://github.com/creationix/nvm
есть также один называется n https://github.com/visionmedia/n
ответ bxjx концептуально точен. Однако обратите внимание, что команда bundle больше не принимает каталог. Это всегда сбрасывает пакеты в
node_modules
папка, так что npm знает, где их найти позже (и может избежать двойной установки зависимостей).любое решение, вероятно, будет включать установку npm и nave "общесистемного" (то есть в вашем
PATH
, который мог быть в~
где-то), но тогда только установка вашего конкретные зависимости в виртуальной среде.Я ответил более тщательно по вопросу github.
tl; dr: прецедент действителен и полезен, и хотя он в основном существует, он не так хорошо обслуживается, как мог бы быть. Мы должны обязательно все обдумать и сделать все правильно.
выглядит лучше так:
Установка Узла.js и npm в Python Virtualenv
теперь я могу использовать инструменты узла без беспорядка глобальной среды bin
вам не всегда нужно устанавливать зависимости глобально. Обычно это рекомендуется, потому что тогда вы можете использовать команды, предоставляемые пакетами npm, но если вы установите его локально (в
node_modules
- каталог), вы также можете использовать эти команды, они только в :$ npm bin /path/to/node_modules/.bin
эта команда также работает, когда вы находитесь в подкаталоге проекта, он вернет первый
node_modules/.bin
каталог, который он находит в своих родительских каталогах.вы можете добавить этот псевдоним в
.bashrc
для автоматического добавления наPATH
:alias nodebin='export PATH=$(npm bin):$PATH'
поэтому, когда вы находитесь в каталоге проекта, который имеет а
node_modules/
каталог в корне, вы можете ввестиnodebin
и затем вы можете использовать все команды, которые находятся в !
Если вам нравится это просто, я действительно рекомендую visionmedia n, не может быть проще!
Я думаю, что это вообще не имеет смысла работать над
node
окружающая среда без установленного узла. Это как вы не установилиpython
иpip
когда вы хотите работать над ! конечно, для использованияvirtualenv
иirtualenvwrapper
thepre-require
иpython
.если вы хотите работать над проектом узла это действительно нормальной установка
node
иnpm
по крайней мере.если вы просто хотите запустить
python
проект в интернете (например, сDjango
), вы можно использовать версию сборкиJavaScript
файл и загрузить этот файл в свой проект.