есть ли виртуальная среда для узла.Джей?
Я искал страницу модулей 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иirtualenvwrapperthepre-requireиpython.если вы хотите работать над проектом узла это действительно нормальной установка
nodeиnpmпо крайней мере.если вы просто хотите запустить
pythonпроект в интернете (например, сDjango), вы можно использовать версию сборкиJavaScriptфайл и загрузить этот файл в свой проект.