Php 部署者:';composer安装';-找不到命令

Php 部署者:';composer安装';-找不到命令,php,deployment,composer-php,php-deployer,Php,Deployment,Composer Php,Php Deployer,我正在使用deployer在服务器上打包symfony应用程序。在部署期间,我还需要运行composer安装来运行诸如bin/console之类的重要命令。只有这样,部署才能完成。不幸的是,部署失败,并在“composer安装”时中断,并显示错误消息: [Deployer\Exception\RuntimeException (127)] The command "cd /usr/home/xxx/public_html/sw6-staging/releases/1.1 &&a

我正在使用deployer在服务器上打包symfony应用程序。在部署期间,我还需要运行composer安装来运行诸如bin/console之类的重要命令。只有这样,部署才能完成。不幸的是,部署失败,并在“composer安装”时中断,并显示错误消息:

[Deployer\Exception\RuntimeException (127)]
The command "cd /usr/home/xxx/public_html/sw6-staging/releases/1.1 && composer install" failed.
Exit Code: 127 (Command not found)
================
bash: line 1: composer: command not found
这是deploy.php中的任务:

task('sw:deploy', function(){
run('cd {{release_path}} && composer install');
});

task('deploy', [
'deploy:prepare',
'deploy:lock',
'deploy:release',
'deploy:update_code',
'sw:deploy',
])->desc('Deploy your project');
但是,如果我通过CLI直接在服务器上运行命令“composer install”,它将通过。问题是什么?我如何解决

部署器版本6.8。 PHP 7.2版


非常感谢

我也有同样的问题。它似乎是通过一个非登录、非交互的shell连接到服务器的,该shell不会加载shell启动文件,如
~/.bash\u profile
->
~/.bash\u login
->
~/.profile

在我的例子中,
.bashrc
具有以下条目:

PATH=“$HOME/.linuxbrew/bin:$HOME/.linuxbrew/sbin:$PATH”
但是无论是
节点
,还是
npm
composer
都是可访问的,因此显然没有使用此文件。也没有
~/.bash_profile
,所以我创建了一个,并在那里添加了路径:

echo "PATH="$HOME/.linuxbrew/bin:$HOME/.linuxbrew/sbin:$PATH" > ~/.bash_profile
然后我使用
source
命令加载
~/.bash\u配置文件
,然后调用
composer安装

任务('sw:build',静态功能(){
运行('source/usr/home/username/.bash\u profile&&cd{{release\u path}&&composer install');
});

我也有同样的问题。它似乎是通过一个非登录、非交互的shell连接到服务器的,该shell不会加载shell启动文件,如
~/.bash\u profile
->
~/.bash\u login
->
~/.profile

在我的例子中,
.bashrc
具有以下条目:

PATH=“$HOME/.linuxbrew/bin:$HOME/.linuxbrew/sbin:$PATH”
但是无论是
节点
,还是
npm
composer
都是可访问的,因此显然没有使用此文件。也没有
~/.bash_profile
,所以我创建了一个,并在那里添加了路径:

echo "PATH="$HOME/.linuxbrew/bin:$HOME/.linuxbrew/sbin:$PATH" > ~/.bash_profile
然后我使用
source
命令加载
~/.bash\u配置文件
,然后调用
composer安装

任务('sw:build',静态功能(){
运行('source/usr/home/username/.bash\u profile&&cd{{release\u path}&&composer install');
});
在6.8中,您可以使用“登录shell”(并加载shell启动文件):

host('example.com')
->shellCommand('bash-ls')
example.com:
shell命令:bash-ls
在6.8中,您可以使用“登录shell”(并加载shell启动文件):

host('example.com')
->shellCommand('bash-ls')
example.com:
shell命令:bash-ls