Я предоставлю свое общее решение для работы с Gems и NPM в рамках поддержки virtualenv Gems и Npm, которое можно настроить с помощью настроек env: GEM_HOME
и npm_config_prefix
Вы можете вставить фрагмент ниже в свойСкрипт postactivate
или activate
(более важно, используете ли вы virtualenvwrapper
или нет)
export GEM_HOME="$VIRTUAL_ENV/lib/gems"
export GEM_PATH=""
PATH="$GEM_HOME/bin:$PATH"
export npm_config_prefix=$VIRTUAL_ENV
export PATH
Теперь внутри вашего virtualenv будут установлены все библиотеки, установленные через gem install
или npm -g install
в вашем virtualenv и двоичном коде, добавленном в PATH
, если вы используете virtualenvwrapper
, вы можете сделать изменение глобальным для всех ваших virtualenv, если вы измените postactivate
, живущий внутри вашего $VIRTUALENVWRAPPER_HOOK_DIR
Это решение нене рассматривается установка nodejs внутри virtualenv, но я думаю, что лучше делегировать эту задачу в систему упаковки (apt, yum, brew ..) и установить node и npm глобально
Редактировать:
Я недавно создал 2 плагина для virtualenvwrapper, чтобы сделать это автоматически.Существует один для драгоценных камней и npm:
http://pypi.python.org/pypi/virtualenvwrapper.npm
http://pypi.python.org/pypi/virtualenvwrapper.gem