есть ли виртуальная среда для узла.Джей?


Я искал страницу модулей wiki, но я не могу найти ничего похожего на virtualenv (python) или rvm.

любой здесь отделяет узел.js в своем собственном env? Я действительно не люблю устанавливать npm по всей системе.

8 113

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, не может быть проще!

https://github.com/visionmedia/n

Я думаю, что это вообще не имеет смысла работать над node окружающая среда без установленного узла. Это как вы не установили python и pip когда вы хотите работать над ! конечно, для использования virtualenv и irtualenvwrapper the pre-require и python.

если вы хотите работать над проектом узла это действительно нормальной установка node и npm по крайней мере.

если вы просто хотите запустить python проект в интернете (например, с Django), вы можно использовать версию сборки JavaScript файл и загрузить этот файл в свой проект.