mirror of
https://github.com/zhamao-robot/zhamao-framework.git
synced 2026-07-24 00:55:35 +08:00
Merge pull request #297 from zhamao-robot/fix-plugin-install-cmd-bugs
修复插件安装命令若干问题
This commit is contained in:
@@ -7,6 +7,7 @@ namespace ZM\Command\Plugin;
|
|||||||
use Symfony\Component\Console\Attribute\AsCommand;
|
use Symfony\Component\Console\Attribute\AsCommand;
|
||||||
use Symfony\Component\Console\Input\InputArgument;
|
use Symfony\Component\Console\Input\InputArgument;
|
||||||
use Symfony\Component\Console\Input\InputOption;
|
use Symfony\Component\Console\Input\InputOption;
|
||||||
|
use ZM\Exception\FileSystemException;
|
||||||
use ZM\Plugin\PluginManager;
|
use ZM\Plugin\PluginManager;
|
||||||
use ZM\Store\FileSystem;
|
use ZM\Store\FileSystem;
|
||||||
use ZM\Utils\ZMRequest;
|
use ZM\Utils\ZMRequest;
|
||||||
@@ -63,6 +64,12 @@ class PluginInstallCommand extends PluginCommand
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
$this->info('正在从 ' . $addr . ' 克隆插件仓库');
|
$this->info('正在从 ' . $addr . ' 克隆插件仓库');
|
||||||
|
try {
|
||||||
|
FileSystem::createDir($plugin_dir);
|
||||||
|
} catch (FileSystemException $exception) {
|
||||||
|
$this->error("无法创建插件目录 {$plugin_dir}:{$exception->getMessage()}");
|
||||||
|
return static::FAILURE;
|
||||||
|
}
|
||||||
passthru('cd ' . escapeshellarg($plugin_dir) . ' && git clone --depth=1 ' . escapeshellarg($addr) . ' ' . $name, $code);
|
passthru('cd ' . escapeshellarg($plugin_dir) . ' && git clone --depth=1 ' . escapeshellarg($addr) . ' ' . $name, $code);
|
||||||
if ($code !== 0) {
|
if ($code !== 0) {
|
||||||
$this->error('无法从指定 Git 地址拉取项目,请检查地址名是否正确');
|
$this->error('无法从指定 Git 地址拉取项目,请检查地址名是否正确');
|
||||||
@@ -91,7 +98,7 @@ class PluginInstallCommand extends PluginCommand
|
|||||||
// 使用内建 Composer
|
// 使用内建 Composer
|
||||||
if (file_exists(WORKING_DIR . '/runtime/composer.phar')) {
|
if (file_exists(WORKING_DIR . '/runtime/composer.phar')) {
|
||||||
$this->info('使用内建 Composer');
|
$this->info('使用内建 Composer');
|
||||||
passthru('php ' . escapeshellarg(WORKING_DIR . '/runtime/composer.phar') . ' install --no-dev', $code);
|
passthru(PHP_BINARY . ' ' . escapeshellarg(WORKING_DIR . '/runtime/composer.phar') . ' install --no-dev', $code);
|
||||||
} else {
|
} else {
|
||||||
$this->info('使用系统 Composer');
|
$this->info('使用系统 Composer');
|
||||||
passthru('composer install --no-dev', $code);
|
passthru('composer install --no-dev', $code);
|
||||||
|
|||||||
Reference in New Issue
Block a user