nodeenv¶
https://github.com/ekalinin/nodeenv
Installation locale:¶
On peut installer dans un environnement virtuel Python (virtualenv ou venv).
~/Documents/nodeenv master* ⇡
❯ python3 -m venv homebridge
~/Documents/nodeenv master* ⇡
❯ source homebridge/bin/activate
~/Documents/nodeenv master* ⇡
homebridge ❯ pip3 install -U pip setuptools
~/Documents/nodeenv master* ⇡ 7s
homebridge ❯ pip3 install nodeenv
~/Documents/nodeenv master* ⇡
❯ cd homebridge/bin
total 48
-rw-r--r-- 1 bruno staff 8471 Nov 8 20:52 Activate.ps1
-rw-r--r-- 1 bruno staff 2233 Nov 8 20:52 activate
-rw-r--r-- 1 bruno staff 1285 Nov 8 20:52 activate.csh
-rw-r--r-- 1 bruno staff 2437 Nov 8 20:52 activate.fish
-rwxr-xr-x 1 bruno staff 270 Nov 8 20:53 easy_install
-rwxr-xr-x 1 bruno staff 270 Nov 8 20:53 easy_install-3.8
-rwxr-xr-x 1 bruno staff 243 Nov 8 20:54 nodeenv
-rwxr-xr-x 1 bruno staff 261 Nov 8 20:53 pip
-rwxr-xr-x 1 bruno staff 261 Nov 8 20:53 pip3
-rwxr-xr-x 1 bruno staff 261 Nov 8 20:53 pip3.8
lrwxr-xr-x 1 bruno staff 7 Nov 8 20:52 python -> python3
lrwxr-xr-x 1 bruno staff 58 Nov 8 20:52 python3 -> /Applications/Xcode.app/Contents/Developer/usr/bin/python3
~/Documents/nodeenv/homebridge master* ⇡ 9s
❯ nodeenv --list
0.1.14 0.1.15 0.1.16 0.1.17 0.1.18 0.1.19 0.1.20 0.1.21
...
14.11.0 14.12.0 14.13.0 14.13.1 14.14.0 14.15.0 15.0.0 15.0.1
15.1.0
On installe node:
~/Documents/nodeenv master* ⇡
homebridge ❯ nodeenv -p --node=14.15.0 env
* Install prebuilt node (14.15.0) ..... done.
~/Documents/nodeenv master* ⇡
homebridge ❯ node -v
v14.15.0
~/Documents/nodeenv/homebridge/bin master* ⇡ 11s
❯ l
total 72364
-rw-r--r-- 1 bruno staff 8471 Nov 8 20:52 Activate.ps1
-rw-r--r-- 1 bruno staff 6115 Nov 8 21:03 activate
-rw-r--r-- 1 bruno staff 1285 Nov 8 20:52 activate.csh
-rw-r--r-- 1 bruno staff 6627 Nov 8 21:03 activate.fish
-rwxr-xr-x 1 bruno staff 270 Nov 8 20:53 easy_install
-rwxr-xr-x 1 bruno staff 270 Nov 8 20:53 easy_install-3.8
-rwxr-xr-x 1 bruno staff 74032864 Oct 27 12:44 node
-rwxr-xr-x 1 bruno staff 243 Nov 8 20:54 nodeenv
lrwxr-xr-x 1 bruno staff 4 Nov 8 21:03 nodejs -> node
lrwxr-xr-x 1 bruno staff 38 Nov 8 21:03 npm -> ../lib/node_modules/npm/bin/npm-cli.js
lrwxr-xr-x 1 bruno staff 38 Nov 8 21:03 npx -> ../lib/node_modules/npm/bin/npx-cli.js
-rwxr-xr-x 1 bruno staff 261 Nov 8 20:53 pip
-rwxr-xr-x 1 bruno staff 261 Nov 8 20:53 pip3
-rwxr-xr-x 1 bruno staff 261 Nov 8 20:53 pip3.8
-rw-r--r-- 1 bruno staff 65 Nov 8 21:03 predeactivate
lrwxr-xr-x 1 bruno staff 7 Nov 8 20:52 python -> python3
lrwxr-xr-x 1 bruno staff 58 Nov 8 20:52 python3 -> /Applications/Xcode.app/Contents/Developer/usr/bin/python3
-rwxr-xr-x 1 bruno staff 299 Nov 8 21:03 shim
On installe l'application:
~/Documents/nodeenv master* ⇡
homebridge ❯ npm install -g --unsafe-perm homebridge
~/Documents/nodeenv/env/bin master* ⇡
homebridge ❯ npm install -g --unsafe-perm homebridge-config-ui-x
~/Documents/nodeenv/env/bin master* ⇡
homebridge ❯ npm install -g --unsafe-perm homebridge-samsung-tizen
~/Documents/nodeenv/env/bin master* ⇡
homebridge ❯ npm install -g --unsafe-perm homebridge-sonos
~/Documents/nodeenv/env/bin master* ⇡
homebridge ❯ l
total 72312
-rwxr-xr-x 1 bruno staff 3653 Nov 9 07:52 activate
-rwxr-xr-x 1 bruno staff 3970 Nov 9 07:52 activate.fish
lrwxr-xr-x 1 bruno staff 65 Nov 9 08:07 hb-service -> ../lib/node_modules/homebridge-config-ui-x/dist/bin/hb-service.js
lrwxr-xr-x 1 bruno staff 45 Nov 9 08:05 homebridge -> ../lib/node_modules/homebridge/bin/homebridge
lrwxr-xr-x 1 bruno staff 65 Nov 9 08:07 homebridge-config-ui-x -> ../lib/node_modules/homebridge-config-ui-x/dist/bin/standalone.js
-rwxr-xr-x 1 bruno staff 74032864 Oct 27 12:44 node
lrwxr-xr-x 1 bruno staff 4 Nov 9 07:52 nodejs -> node
lrwxr-xr-x 1 bruno staff 38 Nov 9 07:52 npm -> ../lib/node_modules/npm/bin/npm-cli.js
lrwxr-xr-x 1 bruno staff 38 Nov 9 07:52 npx -> ../lib/node_modules/npm/bin/npx-cli.js
-rwxr-xr-x 1 bruno staff 240 Nov 9 07:52 shim
Installation globale:¶
$ pip3 install nodeenv
Création d'un environnement:
# Par défaut, nodeenv installe la dernière version de node:
~/Documents/nodeenv master* ⇡
❯ nodeenv homebridge
* Install prebuilt node (15.1.0) ..... done.
~/Documents/nodeenv master* ⇡
❯ cd homebridge
drwxr-xr-x 9 bruno staff 288 Nov 8 16:03 bin
drwxr-xr-x 3 bruno staff 96 Nov 4 20:39 include
drwxr-xr-x 4 bruno staff 128 Nov 4 20:39 lib
drwxr-xr-x 5 bruno staff 160 Nov 4 20:39 share
drwxr-xr-x 3 bruno staff 96 Nov 8 16:03 src
~/Documents/nodeenv/homebridge master* ⇡
❯ cd bin
total 75420
-rwxr-xr-x 1 bruno staff 3674 Nov 8 16:03 activate
-rwxr-xr-x 1 bruno staff 3977 Nov 8 16:03 activate.fish
-rwxr-xr-x 1 bruno staff 77214592 Nov 4 20:39 node
lrwxr-xr-x 1 bruno staff 4 Nov 8 16:03 nodejs -> node
lrwxr-xr-x 1 bruno staff 38 Nov 8 16:03 npm -> ../lib/node_modules/npm/bin/npm-cli.js
lrwxr-xr-x 1 bruno staff 38 Nov 8 16:03 npx -> ../lib/node_modules/npm/bin/npx-cli.js
-rwxr-xr-x 1 bruno staff 268 Nov 8 16:03 shim
Activer l'environnement fonctionne uniquement sous bash, ni zsh, ni fish.
~/Documents/nodeenv master* ⇡ 7s
❯ homebridge/bin/node -v
v15.1.0
Pour installer une version précise de node:
~/Documents/nodeenv master* ⇡
❯ nodeenv --node=14.15.0 homebridge
* Install prebuilt node (14.15.0) ..... done.
~/Documents/nodeenv master* ⇡ 7s
❯ homebridge/bin/node -v
v14.15.0
Pour connaître les versions disponibles:
~/Documents/nodeenv/homebridge master* ⇡ 9s
❯ nodeenv --list
0.1.14 0.1.15 0.1.16 0.1.17 0.1.18 0.1.19 0.1.20 0.1.21
...
14.11.0 14.12.0 14.13.0 14.13.1 14.14.0 14.15.0 15.0.0 15.0.1
15.1.0
Installer une application:
~/Documents/nodeenv master* ⇡
❯ homebridge/bin/node -v
v14.15.0
# env obligatoire
~/Documents/nodeenv master* ⇡
❯ nodeenv --node=14.15.0 env
~/Documents/nodeenv master* ⇡
❯ cd homebridge/bin
~/Documents/nodeenv master* ⇡
❯ env/bin/npm install -g --unsafe-perm homebridge
/Users/bruno/Documents/nodeenv/env/bin/homebridge -> /Users/bruno/Documents/nodeenv/env/lib/node_modules/homebridge/bin/homebridge
+ homebridge@1.1.6
added 78 packages from 78 contributors in 5.065s
~/Documents/nodeenv master* ⇡
❯ env/bin/npm install -g --unsafe-perm homebridge-config-ui-x
/Users/bruno/Documents/nodeenv/env/bin/hb-service -> /Users/bruno/Documents/nodeenv/env/lib/node_modules/homebridge-config-ui-x/dist/bin/hb-service.js
/Users/bruno/Documents/nodeenv/env/bin/homebridge-config-ui-x -> /Users/bruno/Documents/nodeenv/env/lib/node_modules/homebridge-config-ui-x/dist/bin/standalone.js
Dernière mise à jour:
November 9, 2023