Laravel Посланник не может обнаружить узел / npm в Ubuntu при установке с NVM (менеджер версий узлов) bash: строка 5: npm: команда не найдена - PullRequest
1 голос
/ 11 марта 2020

Я установил узел / npm с NVM в Ubuntu 18.04. Я могу s sh на сервер и запустить node -v (v13.9.0) и npm -v (v13.9.0), чтобы они были установлены и выполнялись пользователем.

Когда я пытаюсь и сделать это с помощью инструмента развертывания Laravel Envoy Я получаю следующую ошибку:

bash: line 5: npm: command not found

Мой скрипт Envoy очень прост:

@servers(['main' => ['deploy@**.***.**.**']])

@task('deploy', ['on' => 'main'])
    composer -V
    npm -v
@endtask

Итак по какой-то причине, когда Envoy входит на сервер, он не имеет доступа к узлу / npm. Все остальное, установленное в системе, такое как php и composer, работает нормально.

Есть ли какая-либо причина, по которой Envoy не видит установленный узел NVM / npm? Envoy не входит в систему с моим пользователем развертывания?


Когда я проверяю, на какой npm он указывает:

/home/deploy/.nvm/versions/node/v13.9.0/bin/npm

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

Затем я попытался добавить это в мой скрипт Envoy следующим образом:

@task('deploy', ['on' => 'main'])
    composer -V
    /home/deploy/.nvm/versions/node/v13.9.0/bin/node -v
@endtask

Однако он возвращает ошибку:

‘node’: No such file or directory

Интересно, что я могу запустить узел, используя Laravel Envoy, напрямую ссылаясь на двоичный файл, например /home/deploy/.nvm/versions/node/v13.9.0/bin/node -v

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...