Node Version Manager (nvm)

Ние редовно актуализираме Node.js версиите на WebApps сървърите. Тъй като някои приложения може да не са съвместими с последните версии на Node.js, имате опция да използвате Node.js версии по избор чрез инструмента Node Version Manager (nvm).

Предпоставки

Преди да инсталирате Node Version Manager на Вашия акаунт, трябва да проверите и настроите акаунта си за следните неща:

  • Трябва да имате раздел "WebApps" във Вашия хостинг Контролен панел. Ако нямате раздел "WebApps" във Вашия Контролен панел, тогава инструкциите в тази статия не са валидни за Вашия акаунт и сървър. Можете да ни пишете за повече информация и съдействие.

  • "SSH достъп" и "Мрежови инструменти" трябва да са активирани за Вашия акаунт през раздел "SSH Достъп" на Контролния панел.

Инсталиране

Свържете се към Вашия акаунт чрез SSH и следвайте тези стъпки, за да инсталирате Node Version Manager:

Важно: Ако искате да инсталирате Node Version Manager за съществуващ WebApps проект, пропуснете първите две стъпки.

  1. Създайте директория, в която желаете да инсталирате Node Version Manager (напр. ~/private/nodejscustom) и влезте в нея, използвайки тази команда:

    mkdir /home/$USER/private/nodejscustom && cd /home/$USER/private/nodejscustom

  2. Създайте уеб приложението, в което да използвате Node.js версия по избор. Можете да създадете проект за уеб приложението чрез раздел "WebApps" на хостинг Контролния панел или използвайки следната команда на sureapp CLI инструмента:

    sureapp project create \
        --engine node \
        --engine-version current \
        --release-dir "/home/$USER/private/nodejscustom" \
        nodejscustom


  3. Влезте в проекта на уеб приложението (напр. nodejscustom) чрез тази sureapp CLI команда:

    sureapp project shell nodejscustom

  4. Изтеглете и инсталирайте последната версия на Node Version Manager чрез изпълнение на следната команда:

    wget https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh && chmod 755 install.sh && ./install.sh && rm install.sh

  5. За да заредите Node Version Manager за Вашата SSH сесия, трябва да използвате тази команда:

    export NVM_DIR="$HOME/.nvm" && [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && unset "NPM_CONFIG_PREFIX"

  6. След като сте инсталирали Node Version Manager (nvm), можете да инсталирате Node.js версии по избор с командата "nvm install". Например можете да използвате следната команда, за да инсталирате Node.js версия 18.15.0:

    nvm install 18.15.0

  7. За да промените версията на Node.js (напр. на версия 18.15.0) за Вашата SSH сесия, трябва да използвате следната "nvm use" команда:

    nvm use 18.15.0

    Следното съобщение трябва да се покаже в конзолата след изпълнение на командата:

    Now using node v18.15.0 (npm v9.5.0)

Вече можете да работите с Вашето уеб приложение, използвайки желаната от Вас Node.js версия.

Настройване на определена Node.js по подразбиране за проект

След като сте инсталирали Node Version Manager и желаната Node.js версия (напр. 18.15.0) за Вашия проект, трябва да настроите Node.js версията да се използва по подразбиране. Можете да направите това в няколко стъпки:

  1. Създайте стартов скрипт (напр. ~/private/nodejscustom/start.sh) със следното съдържание:

    #!/bin/bash
    killall node
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
    unset NPM_CONFIG_PREFIX
    nvm use 18.15.0

    Важно: WebApps супервайзърът няма да спира процесите на Node.js версии по избор при спиране на WebApps проекта (чрез sureapp CLI инструмента, хостинг Контролния панел или при профилактика). Това е причината командата "killall node" да присъства в началото на "start.sh" скрипта. Тя се грижи да се спрат всички останали Node.js процеси от предишни изпълнения  на "start.sh" скрипта преди да се стартира проекта отново.

  2. Добавете всички необходими права за стартовия скрипт чрез тази команда:

    chmod 755 ~/private/nodejscustom/start.sh

  3. Добавете стартовия скрипт към стартовата команда на Вашия проект чрез хостинг Контролния панел > раздел "WebApps". Ако стартовата команда на проекта Ви изглежда така::

    node app.js

    Тогава трябва да я промените да стартира Node.js версията по избор и след това да изпълнява нормалната стартова команда, както следва:

    /home/YOUR_USERNAME/private/nodejscustom/start.sh && node app.js

    Важно: Не забравяйте да заместите "YOUR_USERNAME" в стартовата команда с потребителското име на Вашия хостинг акаунт.

Можете и направо да добавите стартовата команда за проекта като нов (последен) ред в стартовия скрипт "start.sh" и така можете да настроите само скрипта като стартова команда за проекта. По този начин стартовият скрипта ще изглежда така, ако искате проекта Ви да изпълнява командата "node app.js" с Node.js версия 18.15.0:

#!/bin/bash
killall node
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
unset NPM_CONFIG_PREFIX
nvm use 18.15.0
node app.js


и стартовата команда за проекта Ви ще изглежда по този начин:

/home/YOUR_USERNAME/private/nodejscustom/start.sh

Важно: Трябва да използвате потребителското име на Вашия хостинг акаунт вместо "YOUR_USERNAME" в горната команда.