部署者 - 作曲家不起作用

时间:2018-05-14 15:25:09

标签: laravel composer-php

我使用部署程序部署laravel应用程序。除了作曲家,一切都很好。始终有消息

  

无需安装或更新

当我通过终端打开同一个文件夹时,作曲家会安装所有软件包。

我是否遗漏了deploy.php文件中的内容?

deploy.php

<?php
namespace Deployer;

require 'recipe/laravel.php';
require 'recipe/npm.php';
require 'vendor/deployer/recipes/recipe/cachetool.php';



// Project name
set('application', '******');

// Project repository
set('repository', '********');

// [Optional] Allocate tty for git clone. Default value is false.
set('git_tty', true);

// Shared files/dirs between deploys
add('shared_files', []);
add('shared_dirs', []);

// Writable dirs by web server
add('writable_dirs', []);


// Hosts

host('*********')
    ->user('******')
    ->port(******)
    ->identityFile('********')
    ->set('deploy_path', '/**********/{{application}}');

// Tasks

task('build', function () {
    run('cd {{release_path}} && build');
});

task('npm:build', function () {
    run('cd {{release_path}} && npm run production');
});

task('deploy:composer_install', function () {
    run('cd {{release_path}} ');
    run('composer install');
})->desc('running composer install');

// [Optional] if deploy fails automatically unlock.
after('deploy:failed', 'deploy:unlock');

// Migrate database before symlink new release.

before('deploy:symlink', 'cachetool:clear:opcache');

after('deploy:symlink', 'artisan:migrate');


after('deploy:symlink', 'deploy:composer_install');

after('deploy:composer_install', 'artisan:db:seed');



after('deploy:update_code', 'npm:install');
after('npm:install', 'npm:build');

Deployer的通知:

enter image description here

2 个答案:

答案 0 :(得分:0)

尝试在一个命令中调用它,就像使用npm一样,因此上下文具有正确的路径(您的应用程序):run('cd {{release_path}} && composer install');

否则composer install将在初始(错误)路径上执行。

答案 1 :(得分:0)

我认为你必须检查你的composer.json文件。

似乎您只更改composer.lock并尝试更新远程代码而不更新composer update(使用composer requireAPI_UNAVAILABLE)。