Запустите файл узла из команды ssh через сценарий оболочки

Здесь я пытаюсь запустить файл узла на сервере AWS с помощью команды ssh через сценарий оболочки, где внутри файла оболочки есть команда для запуска файла узла (node ​​test.js)

Выполнение приведенной ниже команды запустит файл оболочки на сервере AWS.

ssh -i sample-test.pem ubuntu@ip 'bash -s' < my-folder/test.sh
  • Файл test.sh [файл оболочки]

    node test.js
    
  • Файл test.js [файл узла]

    console.log("Venkatesh");
    

Если я запускаю команду оболочки непосредственно на сервере AWS, файл узла работает отлично. Но если я запускаю команду ssh, выдает такую ​​ошибку:

line 1: node: command not found

Я также пробовал из nodejs с помощью пакета node-ssh, снова возникает та же ошибка.

Как я могу запустить файл узла через сценарий оболочки из команды ssh?


person Venkatesh Sorapalli    schedule 05.06.2020    source источник
comment
вы устанавливали nodejs? Могу ли я узнать, какие команды вы использовали   -  person Muni Kumar Gundu    schedule 05.06.2020
comment
Ага! Я установил нвм. Для справки, это команды, которые я использовал: sudo apt-get -y install build-essential libssl-dev curl -o- raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash экспортировать NVM_DIR=${HOME}/.nvm [ -s ${NVM_DIR}/nvm.sh ] && . ${NVM_DIR}/nvm.sh [ -s ${NVM_DIR}/bash_completion ] && . ${NVM_DIR}/bash_completion nvm установить 8 nvm использовать 8   -  person Venkatesh Sorapalli    schedule 05.06.2020
comment
Не могли бы вы ввести команду node -v, npm -v   -  person Muni Kumar Gundu    schedule 05.06.2020
comment
v8.17.0 — узел 6.13.4 — нпм   -  person Venkatesh Sorapalli    schedule 05.06.2020
comment
Вы определили пути в профиле bash?   -  person Muni Kumar Gundu    schedule 05.06.2020
comment
выходные данные этой команды могут содержать полезную информацию: ssh -i sample-test.pem ubuntu@ip which node; альтернатива: ssh ... type node   -  person Milag    schedule 05.06.2020
comment
Да echo 'export PATH=$PATH:/home/ubuntu/.nvm/versions/node/v8.17.0/bin/node' ›› $HOME/.bashrc   -  person Venkatesh Sorapalli    schedule 05.06.2020
comment
Обрезать добавленный путь к каталогу, содержащему node   -  person Milag    schedule 05.06.2020
comment
не могли бы вы сказать мне, в какой файл я должен добавить   -  person Venkatesh Sorapalli    schedule 05.06.2020
comment
Что произойдет, если вы укажете полный путь к узлу? запустите эту команду после того, как вы подключитесь к серверу по ssh: which node, а затем выберите полный путь и используйте его в test.js, FULL/PATH/TO/NODE test.js   -  person ROOT    schedule 07.06.2020
comment
Следует использовать в test.sh правильно? . /home/ubuntu/.nvm/версии/узел/v8.17.0/bin/узел test.js   -  person Venkatesh Sorapalli    schedule 07.06.2020
comment
да попробуй так..   -  person Vinay Sheoran    schedule 07.06.2020
comment
Это работает...   -  person Venkatesh Sorapalli    schedule 07.06.2020


Ответы (1)


Благодаря ROOT

Добавьте путь к узлу при запуске файла узла. Ответ which node будет добавлен для запуска файла узла.

which node  #FULL/PATH/TO/NODE
FULL/PATH/TO/NODE test.js
person Venkatesh Sorapalli    schedule 08.06.2020