A2Hosting: npm работает в терминале, но не для cron worker

#node.js #npm #shared-hosting

#node.js #npm #общий хостинг

Вопрос:

Я использую A2hosting и пытаюсь настроить cron worker, но пока безуспешно.

Я следил за этой статьей, чтобы установить node и npm, что в основном представляет собой список команд ниже

 cd ~
wget https://nodejs.org/dist/v12.9.1/node-v12.9.1-linux-x64.tar.xz
tar xvf node-v12.9.1-linux-x64.tar.xz
mv node-v12.9.1-linux-x64 nodejs
mkdir ~/bin
cp nodejs/bin/node ~/bin
cd ~/bin
ln -s ../nodejs/lib/node_modules/npm/bin/npm-cli.js npm
  

Я пробовал несколько команд

npm run --prefix ~/cloudflare-upload-tool start что приводит к /bin/bash: npm: command not found

и

~/nodejs/bin/npm run --prefix ~/cloudflare-upload-tool start что приводит к /usr/bin/env: node: No such file or directory

Обе команды отлично работают в терминале, не могли бы вы рассказать, какие у меня есть варианты исправить это?

package.json

 {
  "name": "cloudflare-upload-tool",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo "Error: no test specified" amp;amp; exit 1",
    "start": "env-cmd node index.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "axios": "^0.20.0",
    "cloudflare": "^2.7.0",
    "env-cmd": "^10.1.0",
    "form-data": "^3.0.0",
    "fs": "0.0.1-security",
    "jsonwebtoken": "^8.5.1",
    "path": "^0.12.7",
    "tus-js-client": "^2.2.0"
  }
}
  

Ответ №1:

Служба поддержки сообщила, что этот подход не поддерживается. В итоге мы создали приложение node js с использованием пользовательского интерфейса, остановили его, поскольку нам не нужно его раскрывать, и использовали команду для cron worker ниже, как предложено в другой статье

 source /home/<USERNAME>/nodevenv/cloudflare_upload_tool/10/bin/activate amp;amp; cd /home/<USERNAME>/cloudflare_upload_tool amp;amp; npm run start
  

приложение узла