Сначала вы должны попытаться сосредоточиться на ошибке
NPM не найден
Вы говорите, что когда вы выполняете скрипт, он работает - полагаю, что именно это:
#!/bin/bash
cd /opt/project
npm install --production
Если последняя работа работает, проблема в том, что NPM не находится в переменной пути корня. Вы должны попытаться проверить его (как root):
#echo $PATH
Редактировать:
, поэтому переменная $ PATH PATH установлена с хорошими путями и при использовании абсолютного пути для NPM работает. Это означает, что оболочка не читает переменную пути, чтобы найти исполняемый (во всех примере сценария, которую я обнаружил, они всегда используют FullPath. Попробуйте увидеть, можно ли использовать расширение команды, с которым:
#!/bin/bash
cd /opt/project
$(which npm) install --production
Не настолько вредоносны, как, возможно, daft.
дизайнеры настолько полны собственного видения, что не понимают того, что делает системы типа POSIX великолепными.
«Те, кто не понимает Unix, обречены изобретать его заново, плохо».
Henry Spencer
-121--37160- sed -ne\$= files...
Просто дайте sed
столько имен файлов, сколько вы хотите вместо файлов...
и, когда он прочитает все из них, он сообщит =
номер строки самого $
последнего на своем входе.
Я нашел свою проблему. Как-то я создал ярлык, и 2 копии. Я удалил ярлык и обе копии. Проблема исправлена.