Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Virtual environment for Node.js & integrator with virtualenv

License

NotificationsYou must be signed in to change notification settings

ekalinin/nodeenv

Repository files navigation

Node.js virtual environment

nodeenv (node.js virtual environment) is a tool to createisolated node.js environments.

It creates an environment that has its own installation directories,that doesn't share libraries with other node.js virtual environments.

Also the new environment can be integrated with the environment which was builtbyvirtualenv (python).

If you use nodeenv feel free to add your project on wiki:Who-Uses-Nodeenv.

https://travis-ci.org/ekalinin/nodeenv.svg?branch=master

You can install nodeenv globally witheasy_install:

$ sudo easy_install nodeenv

or withpip:

$ sudo pip install nodeenv

or on Debian usingdpkg:

$ ln -s debian-upstream debian$ dpkg-buildpackage -uc -us -b$ sudo dpkg -i $(ls -1rt ../nodeenv_*.deb | tail -n1)

If you're usingvirtualenv then you can install nodeenv viapip/easy_install inside any virtual environment built with virtualenv:

$ virtualenv env$ . env/bin/activate(env) $ pip install nodeenv(env) $ nodeenv --version0.6.5

If you want to work with the latest version of the nodeenv you caninstall it from the githubrepository:

$ git clone https://github.com/ekalinin/nodeenv.git$ ./nodeenv/nodeenv.py --help

or withpip:

$ pip install -e git+https://github.com/ekalinin/nodeenv.git#egg=nodeenv
  • python (2.6+, 3.5+, or pypy)
  • make
  • tail
  • libssl-dev

Create new environment:

$ nodeenv env

Activate new environment:

$ . env/bin/activate

Check versions of main packages:

(env) $ node -vv0.10.26(env) $ npm -v1.4.3

Deactivate environment:

(env) $ deactivate_node

Get available node.js versions:

$ nodeenv --list0.0.1   0.0.2   0.0.3   0.0.4   0.0.5   0.0.6   0.1.00.1.2   0.1.3   0.1.4   0.1.5   0.1.6   0.1.7   0.1.80.1.10  0.1.11  0.1.12  0.1.13  0.1.14  0.1.15  0.1.160.1.18  0.1.19  0.1.20  0.1.21  0.1.22  0.1.23  0.1.240.1.26  0.1.27  0.1.28  0.1.29  0.1.30  0.1.31  0.1.320.1.90  0.1.91  0.1.92  0.1.93  0.1.94  0.1.95  0.1.960.1.98  0.1.99  0.1.100 0.1.101 0.1.102 0.1.103 0.1.1040.2.1   0.2.2   0.2.3   0.2.4   0.2.5   0.2.6   0.3.00.3.2   0.3.3   0.3.4   0.3.5   0.3.6   0.3.7   0.3.80.4.1   0.4.2   0.4.3   0.4.4   0.4.5   0.4.6

Install node.js "0.4.3" without ssl support with 4 parallel commandsfor compilation and npm.js "0.3.17":

$ nodeenv --without-ssl --node=0.4.3 --npm=0.3.17 --with-npm --jobs=4 env-4.3

Install node.js from the source:

$ nodeenv --node=0.10.25 --source env-0.10.25

Install node.js from a mirror:

$ nodeenv --node=10.19.0 --mirror=https://npm.taobao.org/mirrors/node

It's much faster to install from the prebuilt package than Install & compilenode.js from source:

$ time nodeenv --node=0.10.25 --prebuilt env-0.10.25-prebuilt + Install node.js (0.10.25) ... done.real    0m6.928suser    0m0.408ssys     0m1.144s$ time nodeenv --node=0.10.25 --source env-0.10.25-src + Install node.js (0.10.25) ... done.real    4m12.602suser    6m34.112ssys     0m30.524s

Create a new environment with the system-wide node.js:

$ nodeenv --node=system

Saving the versions of all installed packages to a file:

$ . env-4.3/bin/activate(env-4.3)$ npm install -g express(env-4.3)$ npm install -g jade(env-4.3)$ freeze ../prod-requirements.txt

If you want to list locally installed packages use-l option:

(env-4.3)$ freeze -l ../prod-requirements.txt

Create an environment from a requirements file:

$ nodeenv --requirements=../prod-requirements.txt --jobs=4 env-copy

Requirements files are plain text files that contain a list of packagesto be installed. These text files allow you to create repeatable installations.Requirements file example:

$ cat ../prod-requirements.txtconnect@1.3.0express@2.2.2jade@0.10.4mime@1.2.1npm@0.3.17qs@0.0.7

If you already have the python virtualenv tool, and want to use nodeenv andvirtualenv in conjunction, then you should create (or activate) the pythonvirtual environment:

# in case of using virtualenv_wrapper$ mkvirtualenv my_env# in case of using virtualenv$ . my_env/bin/activate

and add a node virtual environment to this existing new_venv:

$ nodeenv -p

If you need to set the path to make used to build node:

$ nodeenv -m /usr/local/bin/gmake ENV

That's all. Now, all your node.js modules will be installed into your virtualenvironment:

$ workon my_env$ npm install -g coffee-script$ command -v coffee/home/monty/virtualenvs/my_env/bin/coffee

Creating a virtual environment with a custom prompt:

$ nodeenv --node=12.18.2 --prompt="(myenv)" nodeenv

If environment's directory already exists then you can use--force option:

$ nodeenv --requirements=requirements.txt --jobs=4 --force env

If you already have an environment and want to update packages from requirementsfile you can use--update option:

$ . env-4.3/bin/activate(env-4.3)$ nodeenv --requirements=requirements.txt --update env-4.3

If you want to call node from environment without activation then you shoulduse shim script:

$ ./env-4.3/bin/shim --versionv0.4.3

You can use the INI-style file~/.nodeenvrc to set default values for many options,the keys in that file are the long command-line option names.

These are the available options and their defaults:

[nodeenv]node = 'latest'npm = 'latest'with_npm = Falsejobs = '2'without_ssl = Falsedebug = Falseprofile = Falsemake = 'make'prebuilt = Trueignore_ssl_certs = Falsemirror = None

There are several alternatives that create isolated environments:

  • nave - Virtual Environments for Node.Nave stores all environments in one directory~/.nave. Can createper node version environments using nave use envname versionname.Can not pass additional arguments into configure (for example --without-ssl)Can't run on windows because it relies on bash.
  • nvm - Node VersionManager. It is necessarily to do nvm sync for caching available node.jsversion.Can not pass additional arguments into configure (for example --without-ssl)
  • virtualenv - Virtual Python Environment builder. For python only.

LICENSE

BSD /LICENSE


[8]ページ先頭

©2009-2025 Movatter.jp