今天寻找解决方案的可悲部分证明,所提供的答案都没有得到充分解释。
我相信我的问题解决方案非常简单。我跑的时候
cap production deploy
我得到了这个输出:
00:08 deploy:build
01 composer install --no-dev --quiet
01 /usr/bin/env: php: No such file or directory
(Backtrace restricted to imported tasks)
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as user@x.x.x.x: composer exit status: 127
composer stdout: Nothing written
composer stderr: /usr/bin/env: php: No such file or directory
SSHKit::Command::Failed: composer exit status: 127
composer stdout: Nothing written
composer stderr: /usr/bin/env: php: No such file or directory
Tasks: TOP => deploy:build
(See full trace by running task with --trace)
The deploy has failed with an error: Exception while executing as user@x.x.x.x: composer exit status: 127
composer stdout: Nothing written
composer stderr: /usr/bin/env: php: No such file or directory
我剪掉了不必要的部分。如果需要,我可以上传.log文件,但我相信应该这样做。
我认为当capistrano尝试运行作曲家时,作曲家的路径存在一些问题,但我不确定。任何帮助都是适当的
答案 0 :(得分:0)
看起来您需要为PHP CLI设置默认的PHP版本。这将创建/usr/bin/php
和/usr/bin/composer
,这是您仅运行命令php
或composer
而不是phpX.Y-sp
或composerX.Y-sp
时将使用的内容(其中XY是PHP版本。)
首先,确保已安装ServerPilot的sp-php-cli
包:
sudo apt-get install sp-php-cli
然后在其上运行dpkg-configure
以选择应该使用哪个版本的PHP:
sudo dpkg-reconfigure sp-php-cli
ServerPilot文章How to Change the Version of the 'php' Command中的更多信息。
答案 1 :(得分:0)
发现我的git存储库有不同于我期望的文件结构。一切都在名为“laravel'”的文件夹中。这就是命令无法运行的原因
答案 2 :(得分:0)