未找到 SSH Shell 命令(作曲家,npm)
SSH Shell commands not found (composer, npm)
我的服务器是 linux a2hosting 的经销商计划,带有 whm 和 cpanel。
我的项目是PHPLaravel.
项目构建然后使用 Copy Files Over SSH
任务我能够将文件复制到我的服务器。
问题是当我尝试在 composer install
和 npm install
之后添加 SSH
任务时出现错误。它使用与文件复制任务相同的 SSH 连接和密钥。 cd
和 ls
之类的东西有效。
当我在本地使用相同的用户名和相同的私钥时,运行 composer install
它和 npm install
一样有效。在 运行ning composer 和 npm 之后,网站加载正常,但我希望这是自动化的,所以我不必手动 运行 这些命令。
这是我的 inline script
:
composer install
我的错误是这样的:
2019-03-11T16:34:21.4468896Z ##[section]Starting: Run Composer
2019-03-11T16:34:21.4471875Z ==============================================================================
2019-03-11T16:34:21.4472119Z Task : SSH
2019-03-11T16:34:21.4472240Z Description : Run shell commands or a script on a remote machine using SSH
2019-03-11T16:34:21.4472332Z Version : 0.148.0
2019-03-11T16:34:21.4472433Z Author : Microsoft Corporation
2019-03-11T16:34:21.4472519Z Help : [More Information](http://go.microsoft.com/fwlink/?LinkId=821892)
2019-03-11T16:34:21.4472635Z ==============================================================================
2019-03-11T16:34:21.8985848Z composer install
2019-03-11T16:34:21.9008544Z Trying to establish an SSH connection to ***@mydomain.com:7822
2019-03-11T16:34:21.9181145Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9181767Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9182133Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9182449Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9183364Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9183731Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9184084Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9184417Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9184742Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9185068Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9185405Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9185751Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9186053Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:22.2806417Z Successfully connected.
2019-03-11T16:34:23.0424509Z tr -d '5' <"./sshscript_1552322" > "./sshscript_1552322._unix"
2019-03-11T16:34:23.1378047Z chmod +x "./sshscript_1552322._unix"
2019-03-11T16:34:23.2240403Z "./sshscript_1552322._unix"
2019-03-11T16:34:23.3118392Z
2019-03-11T16:34:23.3171367Z ##[error]./sshscript_1552322._unix: line 3: composer: command not found
2019-03-11T16:34:23.3180458Z
2019-03-11T16:34:23.3181101Z ##[error]Command failed with errors on remote machine.
2019-03-11T16:34:23.4532093Z ##[section]Finishing: Run Composer
因为您可以通过 SSH 手动登录时执行命令,但不能通过 Azure 脚本执行相同的命令。这可能意味着您的管道脚本无法加载 ~/.bashrc
或预期的 $PATH
值以便能够找到 composer
命令。您需要通过 运行 echo $PATH
手动和通过管道脚本确保您的管道脚本包含正确的 $PATH
值,然后比较该值,或者您可以尝试将 运行 echo $PATH
的完整路径=13=] 二进制文件,你可以通过执行 which composer
手动获取它, npm
.
也是如此
更新:
正如您提到的 $PATH 有问题,您可以在您正在使用的 bash 脚本中手动定义它,如下所示:
export PATH=/my/missing/path:$PATH
我的服务器是 linux a2hosting 的经销商计划,带有 whm 和 cpanel。
我的项目是PHPLaravel.
项目构建然后使用 Copy Files Over SSH
任务我能够将文件复制到我的服务器。
问题是当我尝试在 composer install
和 npm install
之后添加 SSH
任务时出现错误。它使用与文件复制任务相同的 SSH 连接和密钥。 cd
和 ls
之类的东西有效。
当我在本地使用相同的用户名和相同的私钥时,运行 composer install
它和 npm install
一样有效。在 运行ning composer 和 npm 之后,网站加载正常,但我希望这是自动化的,所以我不必手动 运行 这些命令。
这是我的 inline script
:
composer install
我的错误是这样的:
2019-03-11T16:34:21.4468896Z ##[section]Starting: Run Composer
2019-03-11T16:34:21.4471875Z ==============================================================================
2019-03-11T16:34:21.4472119Z Task : SSH
2019-03-11T16:34:21.4472240Z Description : Run shell commands or a script on a remote machine using SSH
2019-03-11T16:34:21.4472332Z Version : 0.148.0
2019-03-11T16:34:21.4472433Z Author : Microsoft Corporation
2019-03-11T16:34:21.4472519Z Help : [More Information](http://go.microsoft.com/fwlink/?LinkId=821892)
2019-03-11T16:34:21.4472635Z ==============================================================================
2019-03-11T16:34:21.8985848Z composer install
2019-03-11T16:34:21.9008544Z Trying to establish an SSH connection to ***@mydomain.com:7822
2019-03-11T16:34:21.9181145Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9181767Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9182133Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9182449Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9183364Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9183731Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9184084Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9184417Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9184742Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9185068Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9185405Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9185751Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:21.9186053Z (node:1296) Warning: Use Cipheriv for counter mode of aes-256-ctr
2019-03-11T16:34:22.2806417Z Successfully connected.
2019-03-11T16:34:23.0424509Z tr -d '5' <"./sshscript_1552322" > "./sshscript_1552322._unix"
2019-03-11T16:34:23.1378047Z chmod +x "./sshscript_1552322._unix"
2019-03-11T16:34:23.2240403Z "./sshscript_1552322._unix"
2019-03-11T16:34:23.3118392Z
2019-03-11T16:34:23.3171367Z ##[error]./sshscript_1552322._unix: line 3: composer: command not found
2019-03-11T16:34:23.3180458Z
2019-03-11T16:34:23.3181101Z ##[error]Command failed with errors on remote machine.
2019-03-11T16:34:23.4532093Z ##[section]Finishing: Run Composer
因为您可以通过 SSH 手动登录时执行命令,但不能通过 Azure 脚本执行相同的命令。这可能意味着您的管道脚本无法加载 ~/.bashrc
或预期的 $PATH
值以便能够找到 composer
命令。您需要通过 运行 echo $PATH
手动和通过管道脚本确保您的管道脚本包含正确的 $PATH
值,然后比较该值,或者您可以尝试将 运行 echo $PATH
的完整路径=13=] 二进制文件,你可以通过执行 which composer
手动获取它, npm
.
更新: 正如您提到的 $PATH 有问题,您可以在您正在使用的 bash 脚本中手动定义它,如下所示:
export PATH=/my/missing/path:$PATH