ΠΊΠ°ΠΊ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π²Π΅ΡΡΠΈΡ node js windows
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Node.js Π² Windows
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°Π»ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Node.js ΠΈ Ρ ΠΎΡΠΈΡΠ΅ Π±ΡΡΡΡΠΎ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Node.js Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² Windows, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Node.js ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ², Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Docker, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ°Π±ΠΎΡΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Linux, ΠΈ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΡΠΈΠΏΡΡ ΡΠ±ΠΎΡΠΊΠΈ Linux ΠΈ Windows ΠΈΠ»ΠΈ Π²Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ Bash, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Node.js Π² ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ΅ Windows Π΄Π»Ρ Linux (ΡΠΎΡΠ½Π΅Π΅, Π² WSL 2).
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° nvm-windows, Node.js ΠΈ npm
ΠΠ°ΡΡΠ΄Ρ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π²ΡΠ±ΠΎΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (Windows ΠΈΠ»ΠΈ WSL) ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Node.js Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ Π²Π΅ΡΡΠΈΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Π΅ΡΡΠΈΠΈ ΠΌΠ΅Π½ΡΡΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΡΡΡΠΎ. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ Node.js Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π½Π°Π΄ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅. ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ Π²Π΅ΡΡΠΈΠΉ Node Version Manager, ΡΠ°ΡΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ nvm, ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²Π΅ΡΡΠΈΠΉ Node.js, Π½ΠΎ ΠΎΠ½ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Mac ΠΈ Linux ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π² Windows. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΡΠ°Π³ΠΈ Π½ΠΈΠΆΠ΅, ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ nvm-windows, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΅Π³ΠΎ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Node.js ΠΈ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Node Package Manager (npm). Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΡ Π²Π΅ΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ Π²ΡΠ΅Π³Π΄Π° ΡΠ΄Π°Π»ΡΡΡ Π»ΡΠ±ΡΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Node.js ΠΈΠ»ΠΈ npm ΠΈΠ· ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½Π΅ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΈ Π·Π°ΠΏΡΡΠ°Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ. Π‘ΡΠ΄Π° ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Node.js (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, C:\Program Files\nodejs), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΡΡΠ°ΡΡΡΡ. Π‘ΠΎΠ·Π΄Π°Π½Π½Π°Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½Π°Ρ ΡΡΡΠ»ΠΊΠ° NVM Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ (Π΄Π°ΠΆΠ΅ ΠΏΡΡΡΠΎΠΉ) ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. Π‘ΠΏΡΠ°Π²ΠΊΡ ΠΏΠΎ ΠΏΠΎΠ»Π½ΠΎΠΌΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΡΠΌ. Π·Π΄Π΅ΡΡ.
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ windows-nvm Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ-Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΡΡΡΠ»ΠΊΡ ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΡΠ΅ΠΉΡΠ°Ρ.
Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠΏΡΡΠΊ ΡΠ°ΠΉΠ»Π° nvm-setup.zip.
ΠΠΎΡΠ»Π΅ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ZIP-ΡΠ°ΠΉΠ», Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ°ΠΉΠ» nvm-setup.exe.
ΠΠ°ΡΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Setup-NVM-for-Windows ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²ΡΠ΅ ΡΡΠ°ΠΏΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ nvm-windows ΠΈ Node.js.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π²Π΅ΡΡΠΈΡΡΡ. ΠΎΡΠΊΡΠΎΠΉΡΠ΅ PowerShell ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ windows-nvm, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ Node (Π½Π° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΈΡ Π΅ΡΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ): nvm ls
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ Π²Π΅ΡΡΠΈΠΉ Node.js Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΡ, Π²Π²Π΅Π΄Ρ nvm use (Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ nvm use 12.9.0 ).
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΡ Π²Π΅ΡΡΠΈΠΉ
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ ΡΡΠΎ windows-nvm ΡΠ΅ΠΉΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ Π²Π΅ΡΡΠΈΠΉ Π΄Π»Ρ Node, Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ²:
nvs (Node Version Switcher) β ΡΡΠΎ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ nvm Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ VS Code.
Volta β ΡΡΠΎ Π½ΠΎΠ²ΡΠΉ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ Π²Π΅ΡΡΠΈΠΉ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ LinkedIn. ΠΠ°ΡΠ²Π»Π΅Π½ΠΎ, ΡΡΠΎ ΠΎΠ½ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π½ΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΡΡ ΠΈ ΠΌΠ΅ΠΆΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ.
Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Volta Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΉ (Π²ΠΌΠ΅ΡΡΠΎ windows-nvm), ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠ°Π·Π΄Π΅Π» Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Windows ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ, Π·Π°ΡΠ΅ΠΌ ΡΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ Windows, ΡΠ»Π΅Π΄ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ.
ΠΠ΅ΡΠ΅Π΄ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ Volta Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Ρ Windows Π²ΠΊΠ»ΡΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Volta Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²Π΅ΡΡΠΈΠΉ Node.js Π² Windows ΡΠΌ. Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ Volta.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Visual Studio Code
ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Node.js Π² Windows ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Visual Studio Code, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Node.js. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈΡ Π²ΡΠ΅ ΠΈΠ»ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Π΄Π»Ρ Π²Π°Ρ.
Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Node.js, ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ ΠΊΠΎΠ΄Π°
ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΎΡΠ»ΠΈΡΠ½ΡΠ΅ ΠΎΡ Visual Studio Code, Π΄Π»Ρ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Node.js ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° GIT
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΈΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° ΡΠ°ΠΉΡΠ΅ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, GitHub), ΠΏΡΠΈΠΌΠΈΡΠ΅ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ VS Code ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΡΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Git. ΠΠΊΠ»Π°Π΄ΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ Π² VS Code ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ±ΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, ΡΠΈΠΊΡΠ°ΡΠΈΡ, ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠ°, ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅) ΠΏΡΡΠΌΠΎ Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅. Π‘Π½Π°ΡΠ°Π»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Git Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ.
Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Git Π΄Π»Ρ Windows Ρ Π²Π΅Π±-ΡΠ°ΠΉΡΠ° git-scm.
Π ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ Π²Ρ ΠΎΠ΄ΠΈΡ ΠΌΠ°ΡΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π΄Π°Π΅Ρ Π²Π°ΠΌ ΡΡΠ΄ Π²ΠΎΠΏΡΠΎΡΠΎΠ² ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Git. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· Π½ΠΈΡ .
ΠΡΠ»ΠΈ Π²Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Git, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°ΠΌ ΠΏΠΎ GitHub. ΠΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΡΠΌΠΈ Node.js ΠΈ NPM Ρ ΠΏΠΎΠΌΠΎΡΡΡ NVM
ΠΠ°Ρ ΠΏΡΠΎΡΠ»ΡΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΏΡΠΎ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ 15-ΠΉ Π²Π΅ΡΡΠΈΠΈ Node.js Π±ΡΠ» ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ ΠΏΡΠΈΠ½ΡΡ ΡΠΈΡΠ°ΡΠ΅Π»ΡΠΌΠΈ Β«Π₯Π°Π±ΡΠ°Β», ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ΅ΠΌΡ ΠΈ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΈΡΡ NVM Ρ Π²Π΅ΡΡΠΈΠ΅ΠΉ Node.js 15 ΠΈ NPM 7.
ΠΠ΅ΡΡΠΈΡ Node.js 15 Π±ΡΠ»Π° Π²ΡΠΏΡΡΠ΅Π½Π° 20 ΠΎΠΊΡΡΠ±ΡΡ 2020 Π³ΠΎΠ΄Π°. ΠΠ½Π° ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ npm 7 ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΡ ΡΠΆΠ΅ ΡΡΠΏΠ΅Π»ΠΈ ΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ?
ΠΠΎ ΠΏΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡΠ΅ ΠΌΠΈΠ½ΡΡΠΊΡ! Node.js 15 ΠΈ npm 7 ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ΅ ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈΡ Π»ΠΈ ΡΠΎΠ³Π΄Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌ?
Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈΡΡ!
Π ΡΡΠ°ΡΡΡΡ, Ρ Π½Π°Ρ Π΅ΡΡΡ NVM (Node Version Manager), ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ·Π±Π°Π²ΠΈΡ Π½Π°Ρ ΠΎΡ ΡΡΠΎΠΉ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΡΡΠΎΠ±Ρ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π²Π΅ΡΡΠΈΠΈ node.js ΠΈ npm.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° NVM
nvm ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ node.js ΠΈ npm. ΠΠ½ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ. nvm ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π»ΡΠ±ΠΎΠΉ POSIX-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΎΠΉ (sh, dash, ksh, zsh, bash), Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ : unix, macOS ΠΈ windows WSL.
nvm ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ curl ΠΈΠ»ΠΈ wget:
Π‘ΠΊΡΠΈΠΏΡ install.sh ΠΊΠ»ΠΎΠ½ΠΈΡΡΠ΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ nvm Π²
/.nvm ΠΈ ΠΏΡΡΠ°Π΅ΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° Π² Π½ΡΠΆΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΏΡΠΎΡΠΈΠ»Ρ (
/.bash_profile ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΡΡΠΎΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ NVM
ΠΡΠ°ΠΊ, ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ nvm. Π’Π΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ node.js:
Π’Π°ΠΊΠΆΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΡ Π½ΡΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. Π‘Π΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ Π²Π΅ΡΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ SemVer:
ΠΡΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΠΆΠ΅ Π±ΡΠ»Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π°, ΠΎΠ½Π° Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ:
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° ΡΠΊΡΠ°Π½ Π²ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ:
nvm use Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΡΠΈΡ:
ΠΠ°Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π²Π΅ΡΡΠΈΡ npm Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Node.js:
nvm use ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½ΡΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ. ΠΡΠ»ΠΈ Π²Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ node.js Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ΅ΡΡΠ½Π°.
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ Node.js ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΉ?
ΠΠ΅ΡΡΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ β ΡΠ°ΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π½Π° Π²ΡΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ.
ΠΠΎΠΌΠ°Π½Π΄Π° nvm alias ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ls-remote Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½ Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ, Π½ΠΎ Π±ΡΠ΄ΡΡΠ΅ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΠΎΡΠ΅Π½Ρ Π΄Π»ΠΈΠ½Π½ΠΎΠΌΡ ΡΠΏΠΈΡΠΊΡ.
ΠΠ±ΡΠ°ΡΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Π² ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ Π²Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ.
Π£ΠΊΠ°Π·Π°Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ Node.js ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ:
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ nvm-ΠΊΠΎΠΌΠ°Π½Π΄, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ help :
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ NVM
ΠΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 0.37.2.
ΠΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² Π²ΡΠ²ΠΎΠ΄Π΅, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΊΡΡΡΡ ΠΈ ΡΠ½ΠΎΠ²Π° ΠΎΡΠΊΡΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π», ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ:
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ nvm ls ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ²Π΅ΡΠ°:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Π½ΠΎΠ²ΡΠ΅ ΡΠ²Π΅ΡΠ°:
nvm ls ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π²ΡΠ²ΠΎΠ΄ Ρ Π½ΠΎΠ²ΡΠΌΠΈ ΡΠ²Π΅ΡΠ°ΠΌΠΈ:
UA Blog
Blog on instersting topics
Π’ΡΡΠΎΡΠΈΠ°Π» ΠΏΠΎ Node Version Manager (NVM)
ΠΡΠ»ΠΈ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ Node.js ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²Π°ΠΌ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Node.js. Π ΡΡΠ°ΡΡΡΡ Π΅ΡΡΡ Π»Π΅Π³ΠΊΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π»ΡΠ±ΡΡ Π²Π΅ΡΡΠΈΠΉ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ β ΠΈ ΡΡΠΎ Node Version Manager. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π²Π°ΠΌ Π΄Π»Ρ ΡΠΌΠ΅Π½Ρ Π²Π΅ΡΡΠΈΠΈ Node.js Π±Π΅Π· Π»ΠΈΡΠ½ΠΈΡ ΡΡΠΈΠ»ΠΈΠΉ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Node.js?
Node.js ΡΡΠΎ ΡΡΠ΅Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ JavaScript Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΡΠ°ΠΉΡΠΎΠ² ΠΈΠ»ΠΈ RESTful API. ΠΠ³ΠΎ Π±Π°Π·ΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Π±Π°Π·ΠΈΡΡΡΡΡΡ Π½Π° API, ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΎΠΌ ΡΠ°ΠΊ ΡΡΠΎ Π±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π»Π΅Π³ΡΠ΅. Node.js ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ : Linux, macOS ΠΈ Windows, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π² JavaScript, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ CoffeeScript, Dart ΠΈ TypeScript.
Node.js ΠΏΠΎΡ ΠΎΠΆ Π½Π° PHP, Π½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ . Π PHP, ΡΡΠ½ΠΊΡΠΈΠΈ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ ΠΏΠΎΡΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄ΡΡΠ΄. Π Node.js ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ IO, Π·Π°ΠΏΡΠΎΡΡ Π² Π±Π°Π·Ρ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ.
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ Node.js
ΠΠΎΠ²ΡΠΉ ΡΠ΅Π»ΠΈΠ· Node.js Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ°Π· Π² ΠΏΠΎΠ»Π³ΠΎΠ΄Π° Ρ master Π²Π΅ΡΠΊΠΈ Π² GitHub, ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π² ΠΠΏΡΠ΅Π»Π΅ ΠΈ ΠΠΊΡΡΠ±ΡΠ΅. ΠΠΎΠ³Π΄Π° Π²ΡΡ ΠΎΠ΄ΠΈΡ Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ Ρ Π½Π΅ΡΠ΅ΡΠ½ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ, ΡΠ°ΠΌΡΠ΅ Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Ρ ΡΠ΅ΡΠ½ΡΠΌΠΈ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ ΡΡΠ°ΡΡ long-term support (LTS). ΠΠ΅ΡΡΠΈΠΈ Π΄ΠΎ LTS ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π½Π° 18 ΠΌΠ΅ΡΡΡΠ΅Π², Π° ΠΏΠΎΡΠΎΠΌ ΡΠ΅ 12 ΠΌΠ΅ΡΡΡΠ΅Π² ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ. Π ΡΠΎΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π°ΠΊΡΠΈΠ²Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ non-breaking Π±ΡΠΊΠΏΠΎΡΡΡ Ρ Π»ΡΠ±ΡΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π² ΡΠ°ΠΌΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅Π΄Π΅Π»Ρ ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π»ΠΈΠ·Π°.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Node Version Manager (NVM)?
Node Version Manager β ΡΡΠΎ ΡΡΠΈΠ»ΠΈΡΠ° ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ Node. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π»ΡΠ±ΡΡ Π²Π΅ΡΡΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
NVM Π±ΡΠ» ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ Π΄Π»Ρ Linux ΠΈ OS X, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡ NVM Windows https://github.com/coreybutler/nvm-window. Π₯ΠΎΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΡΠ»ΠΈΡΠΈΡ, Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ Node.js ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Ρ, ΠΊΡΠΎΠΌΠ΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π½ΠΈΠΆΠ΅.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° NVM Π½Π° OS X ΠΈ Linux
Π‘Π½Π°ΡΠ°Π»Π°, ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΠ΅ΡΡ Π² ΡΠΎΠΌ ΡΡΠΎ ΡΡΠΈΠ»ΠΈΡΠ° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ° Ρ Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. Π’Π°ΠΊΠΆΠ΅ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΡΡΡ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΡΠΉ Node, Π½ΠΎ Π»ΡΡΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π»ΡΠ±ΡΠ΅ ΠΏΡΠ΅ΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΡ npm.
C++ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π²Π΅ΡΡΠΈΠΉ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ 0.8.6. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Ρ LTS ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΠ΅Π»ΠΈΠ·Π°ΠΌΠΈ, Π²Ρ Π²ΡΠ΅ Π΄Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ C++. ΠΡΠ»ΠΈ Π²Ρ Ρ Π²Π°Ρ OS X, Π²Π°Ρ Π»ΡΡΡΠΈΠΉ Π²ΡΠ±ΠΎΡ ΡΡΠΎ Xcode. Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Linux, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ build-essential package Π²ΠΌΠ΅ΡΡΠ΅ Ρ Advanced Package Tool:
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Node Version Manager ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ cURL ΠΈΠ»ΠΈ Wget. ΠΠ»Ρ cURL Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ»Ρ Wget Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ΅ΡΠ΅Π΄ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΡΠ·Π½Π°ΠΉΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π΄ΠΎΡΡΠΏΠ½ΡΡ Π²Π΅ΡΡΠΈΡ NVM https://github.com/creationix/nvm/releases. ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ v0.33.11. ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΡΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡΡΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π²
/.nvm ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ bash ΠΏΡΠΎΡΠΈΠ»Ρ, ΡΠ°ΠΊ ΡΡΠΎ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Node Version Manager Π³Π΄Π΅-ΡΠ³ΠΎΠ΄Π½ΠΎ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° NVM Π½Π° Windows
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π²Ρ Π½Π°ΡΠ½Π΅ΡΠ΅, ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ Π²Π΅ΡΡΠΈΡ Node.js, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. ΠΠ°Π»ΡΡΠ΅ ΡΠΊΠ°ΡΠ°ΠΉΡΠ΅ Ρ Github nvm-setup.zip https://github.com/coreybutler/nvm-windows/releases ΠΠΎΡΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΎΡΠΊΠΎΡΠ΅ΡΠ΅ Π΅Π³ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ Π΄Π»Ρ Π·Π°Π²Π΅ΡΠ΅ΡΠ½Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ.
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ NVM
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΆΠ½ΡΡ Π²Π΅ΡΠ΅ΠΉ ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ NVM ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ, Π½ΠΈΠΆΠ΅ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ ΠΈ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ Node.js
ΠΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π²Π΅ΡΡΠΈΠΉ Π΄Π΅Π»Π°Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ Node.js ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ install ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ Π΅ΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π²Π΅ΡΡΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Node.js Π²Π΅ΡΡΠΈΠΈ v6.5.0, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΈΠ»ΠΈΡΠ° ΡΠ»Π΅Π΄ΡΠ΅Ρ SemVer, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΏΠ°ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ install Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ Π½ΠΎΠΌΠ΅ΡΠ° ΠΏΠ°ΡΡΠ°. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ Π² Linux ΠΈ OS X, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Windows, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Node, ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ nvm uninstall c Π½ΡΠΆΠ½ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ Π²Π΅ΡΡΠΈΠΈ.
ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ npm ΠΏΠ°ΠΊΠ΅ΡΡ
ΠΠΎΠΌΠ°Π½Π΄Π° Π²ΡΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Node 6.5.0 ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ npm, ΠΏΠΎΡΠΎΠΌ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π² Π²Π΅ΡΡΠΈΠΈ 4.2
ΠΠ»ΠΈΠ°ΡΡ
Π§ΡΠΎ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΌΠ΅Π½Ρ Π²Π΅ΡΡΠΈΠΉ, NVM ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π½ΠΎΠΌΠ΅ΡΠ°. ΠΡΠΈΠΌΠ΅ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ
Π°Π»ΠΈΠ°ΡΠΎΠ²:
β node: ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΌΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ Node.js
β unstable: ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΌΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ Node.js
β iojs: ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΌΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ io.js
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Node.js Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
Π’Π°ΠΊΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π°Π»ΠΈΠ°Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π²Π΅ΡΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ°ΠΊΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π°Π»ΠΈΠ°ΡΡ:
ΠΠ»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π°Π»ΠΈΠ°ΡΠ°, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ unalias:
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ Node.js
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΊΠ°ΠΊ Π²Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ Node.js, ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ±ΠΈΡΠ°ΡΡΡΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ»Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°, nvm use ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎΡΡΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° install. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° Π²ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ Node, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° nvm ls:
ΠΠΊΡΠΈΠ²Π½Π°Ρ Π²Π΅ΡΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π° Π·Π΅Π»Π΅Π½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ ΠΈ ΡΡΡΠ΅Π»ΠΎΡΠΊΠΎΠΉ, ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
β Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ. Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π±Π΅Π· ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ node, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ°ΠΊΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ
β ΡΡΠΎΠ±Ρ Π·Π°Π΄Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² ΡΠ°Π±-ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ°ΠΊΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
β Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ ΠΏΡΡΡ ΠΊ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ Node.js Π΄Π»Ρ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π²Π΅ΡΡΠΈΠΈ Node, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Node Version Manager
ΠΡΠΎΠΌΠ΅ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΡΠΈΠ»ΠΈΠΉ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ Node ΠΈΠΌΠ΅Π΅Ρ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²ΡΠ³ΠΎΠ΄. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Node, ΠΈΠ»ΠΈ Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π±Π°Π³ Π½Π° Π½ΡΠΆΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ, NVM ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ½Π°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Node Version Manager, ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ΅Π½Π½ΠΎ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΡΠΌΠΈ Node.js Ρ ΠΏΠΎΠΌΠΎΡΡΡ nvm Π² Windows
ΠΠΎΠΏΡΠΎΡ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° β ΡΡΡΠΊΠ° ΡΠ»ΠΎΠΆΠ½Π°Ρ. Π Π°Π±ΠΎΡΠ°Ρ Ρ Node.js, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π²Ρ, Π½ΠΎ ΠΈ Π² ΡΠ΅Ρ , ΡΡΠΎ Π±ΡΠ»ΠΈ Π²ΡΠΏΡΡΠ΅Π½Ρ Π΄ΠΎ Π½Π΅Ρ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ²ΠΎΡΠΌ, ΡΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² (Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ), ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· npm. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ Travis CI, Π½ΠΎ ΡΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°Π½ Π½Π΅ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ.
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡ Π²Π΅ΡΡΠΈΠΈ Node.js Π½Π° Linux ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΈΠ»ΠΈΡΡ nvm. ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Β«ΡΠΈΠ΄ΡΡΒ» Π½Π° Windows, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΡΡ ΡΡΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ, Ρ ΠΎΡΡ ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ. Π Π°Π·Π±ΠΈΡΠ°Π΅ΠΌΡΡ Π² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ Node.js ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π² Windows.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ nvm?
nvm (Node Version Manager) β ΡΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ Π²Π΅ΡΡΠΈΠΈ Node.js Π½Π° Π»Π΅ΡΡ. ΠΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, nvm Π΄Π°ΡΡ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄Π΅ΡΠΆΠ°ΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²Π΅ΡΡΠΈΠΉ Node.js. ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π΄Π»Ρ Π½Π΅Ρ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 5.0.0 ΠΈΠ»ΠΈ 4.2.2. ΠΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π²Π΅ΡΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΡΡΡ Π΄ΠΎ Node.js Π² PATH.
ΠΡΠΈ ΡΡΠΎΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ²ΠΎΠΈ ΠΈ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΡΡ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Node.js Π²Π΅ΡΡΠΈΠΈ 4.2.2 ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠ»ΠΈΡΡ Π½Π° Π²Π΅ΡΡΠΈΡ 5.1.0, ΡΠΎ ΡΡΠΎΡ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ Π²Π°ΠΌ ΠΏΡΠΈΠ΄ΡΡΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠΆΠ΅ Π΄Π»Ρ ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° nvm
ΠΠ°ΠΏΠΎΠΌΠ½Ρ, ΡΡΠΎ ΡΠ΅ΡΡ ΡΠ΅ΠΉΡΠ°Ρ ΠΈΠ΄ΡΡ ΠΏΡΠΎ Windows, ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ nvm Π·Π΄Π΅ΡΡ ΡΠ°ΠΊ ΠΆΠ΅ Β«ΡΠ»ΠΎΠΆΠ½ΠΎΒ», ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ»ΠΈ ΠΈΠ³ΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Π°ΠΌ ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ nvm-windows ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ. ΠΠ°Π»Π΅Π΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°, ΠΊΠ°ΠΊ ΠΈ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π² Windows: Π²ΡΠ±ΠΈΡΠ°Π΅ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΊΠ»ΠΈΠΊΠ°Π΅ΡΠ΅ Π½Π° Β«ΠΠ°Π»Π΅Π΅Β».
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Node.js
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π·Π΄Π΅ΡΡ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ 5-ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Node.js. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ nvm Π΄Π»Ρ Windows Π΅ΡΡ Π½Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ» Π½ΠΎΠ²ΡΠΉ ΡΠ΅Π»ΠΈΠ·, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΠΈΠΉ 5-ΡΡ Π²Π΅ΡΡΠΈΡ Node.js Π² ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ.
ΠΡΠ°ΠΊ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ Node.js ΡΠ΅ΡΠ²Π΅ΡΡΠΎΠΉ Π²Π΅ΡΠΊΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ Π²Π΅ΡΡΠΈΡ Node.js, Ρ ΠΎΡΡ Π² Π²Π΅ΡΡΠΈΠΈ ΠΏΠΎΠ΄ Linux ΠΈ OSX ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΌΠ°ΠΆΠΎΡΠ½ΡΡ ΡΠΈΡΡΡ (4 ΠΈΠ»ΠΈ 5).
Π’ΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΡΡΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ:
ΠΠΎΠΌΠΈΠΌΠΎ Π²Π΅ΡΡΠΈΠΈ, ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Node.js 5.1.0 32-Π±ΠΈΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΉ
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Node.js Π²Π΅ΡΡΠΈΠΈ 5.1.0, Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΠΎΠ²
Π― Π²ΡΠ½ΡΠΆΠ΄Π΅Π½ Π±ΡΠ» ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠΎΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π² Π²ΠΈΠ΄Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Β«Π½Π°ΡΡΠΎΡΡΠΈΠΉΒ» nvm ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°Π·Π½Π°ΡΠ°ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌ Π²Π΅ΡΡΠΈΡΠΌ Node.js ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΡ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΏΠΎΠΊΠ° ΡΡΠΎ nvm Π΄Π»Ρ Windows Π½Π΅ ΡΠΌΠ΅Π΅Ρ ΡΡΠΎΠ³ΠΎ.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ
ΠΠ°ΠΊ Ρ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ» Π² Π½Π°ΡΠ°Π»Π΅, nvm ΡΠ°Π·Π΄Π΅Π»ΡΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ Node.js ΠΏΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ, ΠΈ, ΠΈΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ ΠΏΠ°ΠΊΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π»ΠΈΡΡ Π² ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Ρ ΡΠ²ΠΎΠΉ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ windows-ls Π² Π²Π΅ΡΡΠΈΠΈ 4.2.2 ΠΈ ΠΏΠΎΠΏΡΡΠ°ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² Π²Π΅ΡΡΠΈΠΈ 5.1.0. Π ΠΈΡΠΎΠ³Π΅ Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΎΡΠΈΠ±ΠΊΡ, Π³ΠΎΠ²ΠΎΡΡΡΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° Π½Π΅Ρ.
ΠΡΠΎΠ³ΠΈ
ΠΡΠ΅ ΠΌΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ Windows β ΡΡΠΎ Π½Π΅ ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½Ρ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ. ΠΡΠΈΠΌΠ΅ΡΠΎΠ², ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΡ ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ½ΠΈ ΡΠ²ΠΎΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ Ρ ΠΈΡ Π·Π΄Π΅ΡΡ Π½Π΅ Π±ΡΠ΄Ρ. Π Π°ΡΡΠΌΠΎΡΡΠ΅Π½Π½Π°Ρ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΡΠΈΠ»ΠΈΡΠ° Π΄Π΅Π»Π°Π΅Ρ ΠΆΠΈΠ·Π½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π½Π° Windows ΡΡΡΠΎΡΠΊΡ Π»ΡΡΡΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΡΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠ΅, Π° Π½Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠ΅, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ Node.js.
ΠΠ΅Π»ΠΈΠΌΡΡ Π½Π° ΠΎΠΏΠ»Π°ΡΡ Ρ
ΠΎΡΡΠΈΠ½Π³Π° ΠΈΠ»ΠΈ ΠΊΠΎΡΠ΅.
Π§Π΅ΠΌ ΡΠ°ΡΠ΅ ΠΏΡΡ ΠΊΠΎΡΠ΅, ΡΠ΅ΠΌ ΡΠ°ΡΠ΅ ΠΏΠΈΡΡ ΡΡΠ°ΡΡΠΈ.
ΠΡΡΡΠΈΠΉ ΠΏΡΡΡ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Node.Js (Mac/Linux/Windows)
ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠΎ Ρ ΠΎΡΠΎΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΈΡ Π²ΡΠ΅Ρ ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΎΠ΄Π°ΠΌΠΈ Π·Π° ΡΠ΅ΠΊΡΠ½Π΄Ρ, Π²ΡΠ΅Π³Π΄Π° Π·Π½Π°Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΈ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΄Π°Π»ΠΈΡΡ Π»ΡΠ±ΡΠ΅ ΠΈΠ· Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.
ΠΠ±ΠΎ Π²ΡΠ΅ΠΌ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΠ°ΡΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½ΠΎΠ΄Ρ ΠΈ Π²ΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ΅ Ρ ΡΡΠΈΠΌ. ΠΡ ΡΡΠ°ΡΡΠ»ΠΈΠ²ΡΠΈΠΊ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ»ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Homebrew. ΠΠ΅ΡΠΎΠ΄ Homebrew ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π½ΠΎΠ΄Ρ Π½Π° ΠΌΠ°ΠΊΠ΅.
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅. Brew ΡΠ΄Π°Π»ΠΈΡ Π²ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Node.Js
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ, Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ, Π·Π°ΠΏΡΡΡΠΈΡΡ brew cleanup, ΡΡΠΎ ΡΠ΄Π°Π»ΠΈΡ Π²ΡΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ.
ΠΡΠ»ΠΈ Π²Π°ΡΠ° Node.js Π±ΡΠ»Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ΠΏΠΎ Π΄ΡΡΠ³ΠΎΠΌΡ, ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΡΡΠ½ΡΡ. ΠΡΡΡ ΠΊΡΡΠ° ΠΏΠ°ΠΏΠΎΠΊ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ ΠΎΠ΄Π½Π° Π·Π° ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΡΠ΅Π· ΡΠ°ΠΉΠ½Π΄Π΅Ρ ΠΈΠ»ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π».
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΠΏΠΎΠΊ, Π³Π΄Π΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Node.js ΠΈ npm
Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΡΡΠ½ΡΡ ΠΈΡΠΊΠ°ΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ Π²ΡΠ΅ ΡΡΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ ΡΠ°ΠΉΠ»Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π²Π΅ΡΡΠΈ ΠΎΠ΄Π½Ρ ΠΏΡΠΎΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»:
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ ΡΡΠΎΠ³Π°Π΅Ρ Π²Π°ΡΡ Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΡΠ°ΠΊ ΡΡΠΎ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΠΌΠΈ ΡΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΠ²ΡΠΈΠΌΠΈΡΡ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ.
Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Ρ npm
ΠΠΎΡΠ»Π΅ Π²ΡΠ΅Ρ ΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄, Node.js ΠΈ npm Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°.
ΠΠΎΡΠ»Π΅ ΠΎΡΠΈΡΡΠΊΠΈ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Node.js. ΠΠΎ ΠΌΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ Π½Π΅ ΠΏΡΡΠΌΡΠΌ ΠΏΡΡΠ΅ΠΌ. ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ ΠΏΠΎ ΠΎΠ±ΡΡΠ½ΠΎΠΌΡ, ΠΌΡ Π²ΡΠ΅ Π΅ΡΠ΅ Π±ΡΠ΄Π΅ΠΌ ΠΈΠΌΠ΅ΡΡ ΡΡ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΉ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ.
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΡΠΊΡΠΈΠΏΡ: NVM
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄Π°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π²ΡΡΡΠ½ΡΡ. ΠΡ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ ΡΠ°ΠΉΠ»Ρ Π² PATH. ΠΠ΅ΡΠ°Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΎΠΏΠΈΡΠ°Π½Π° Π² NVM ReadMe. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ NVM Π² CI ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½. Π― Π±Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» Π΄ΠΎΠ±Π°Π²ΠΈΡΡ NVM Π² Docker image, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²Π°Ρ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½.
ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΠΊΠ½ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ
ΠΡ ΠΏΠΎΡΡΠΈ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈ. Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π»ΡΠ±ΡΡ Π²Π΅ΡΡΠΈΡ Node.js. ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ ΡΠ°ΠΌΡΡ ΡΠ²Π΅ΠΆΡΡ Π²Π΅ΡΡΠΈΡ:
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ LTS Π²Π΅ΡΡΠΈΡ, Π½ΠΎ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ npm, ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ: