Fix install env issues

修复环境缺少或未执行遇到错误而安装失败

通过环境测试
PHP 、Composer - 文件夹.zm-runtim已删除 
PHP 、Composer - 文件夹.zm-runtim已删除 
PHP 、Composer - 文件夹.zm-runtim已删除 
PHP 、Composer - 文件夹.zm-runtim已删除 
This commit is contained in:
Miu
2023-11-20 00:03:36 +08:00
committed by Jerry Ma
parent d09d4273eb
commit 6dc6d93d82

View File

@@ -34,10 +34,18 @@ function download_file() {
fi fi
_down_symbol=0 _down_symbol=0
if [ ! -f "$2" ]; then if [ ! -f "$2" ]; then
echo -ne "$(nhead) 正在下载 $1 ... " # 获取目录路径
download_dir=$(dirname "$2")
# 检查目录是否存在,如果不存在则创建
if [ ! -d "$download_dir" ]; then
mkdir -p "$download_dir"
fi
echo -ne "$(nhead) 正在下载 $1 到目录 $download_dir ... "
$downloader "$1" -$_down_prefix "$2" >/dev/null 2>&1 && echo "完成!" && _down_symbol=1 $downloader "$1" -$_down_prefix "$2" >/dev/null 2>&1 && echo "完成!" && _down_symbol=1
else else
echo "已存在!" && _down_symbol=1 echo "文件已存在!" && _down_symbol=1
fi fi
if [ $_down_symbol == 0 ]; then if [ $_down_symbol == 0 ]; then
echo "$(nhead red) 下载失败!请检查网络连接!" echo "$(nhead red) 下载失败!请检查网络连接!"
@@ -47,6 +55,7 @@ function download_file() {
return 0 return 0
} }
# 安装下载内建PHP # 安装下载内建PHP
function install_native_php() { function install_native_php() {
ZM_PHP_VERSION="8.1" ZM_PHP_VERSION="8.1"
@@ -68,6 +77,7 @@ function install_native_php() {
# 安装下载Composer # 安装下载Composer
function install_native_composer() { function install_native_composer() {
if [ ! -f "$ZM_TEMP_DIR/composer.phar" ]; then if [ ! -f "$ZM_TEMP_DIR/composer.phar" ]; then
# 下载 composer.phar # 下载 composer.phar
download_file "https://mirrors.aliyun.com/composer/composer.phar" "$ZM_TEMP_DIR/composer.phar" || return 1 download_file "https://mirrors.aliyun.com/composer/composer.phar" "$ZM_TEMP_DIR/composer.phar" || return 1
@@ -209,9 +219,10 @@ function if_use_aliyun() {
function if_restore_native_runtime() { function if_restore_native_runtime() {
ZM_RUNTIME_DIR="$ZM_PWD/$ZM_CUSTOM_DIR/runtime/" ZM_RUNTIME_DIR="$ZM_PWD/$ZM_CUSTOM_DIR/runtime/"
mkdir -p "$ZM_RUNTIME_DIR"
mkdir -p "$ZM_CUSTOM_DIR/runtime"
if [ "$php_executable" = "$ZM_TEMP_DIR/php" ]; then if [ "$php_executable" = "$ZM_TEMP_DIR/php" ]; then
echo "$(nhead) 移动内建 PHP 到框架目录 $ZM_RUNTIME_DIR ..." && \ echo "$(nhead) 移动内建 PHP 到框架目录 $ZM_RUNTIME_DIR ..." && \
mkdir -p "$ZM_RUNTIME_DIR" && \
mv "$ZM_TEMP_DIR/php" "$ZM_RUNTIME_DIR" || { mv "$ZM_TEMP_DIR/php" "$ZM_RUNTIME_DIR" || {
echo "$(nhead red) 移动内建 PHP 到框架目录失败!" && return 1 echo "$(nhead red) 移动内建 PHP 到框架目录失败!" && return 1
} }
@@ -219,16 +230,17 @@ function if_restore_native_runtime() {
fi fi
if [ "$composer_executable" = "$ZM_TEMP_DIR/composer" ]; then if [ "$composer_executable" = "$ZM_TEMP_DIR/composer" ]; then
echo "$(nhead) 移动内建 Composer 到框架目录 $ZM_RUNTIME_DIR ..." && \ echo "$(nhead) 移动内建 Composer 到框架目录 $ZM_RUNTIME_DIR ..." && \
mkdir -p "$ZM_CUSTOM_DIR/runtime" && \ ([ -e "$ZM_TEMP_DIR/composer" ] && mv "$ZM_TEMP_DIR/composer" "$ZM_RUNTIME_DIR") || \
mv "$ZM_TEMP_DIR/composer" "$ZM_RUNTIME_DIR" && \ ([ -e "$ZM_TEMP_DIR/composer.phar" ] && mv "$ZM_TEMP_DIR/composer.phar" "$ZM_RUNTIME_DIR") || {
mv "$ZM_TEMP_DIR/composer.phar" "$ZM_RUNTIME_DIR" || {
echo "$(nhead red) 移动内建 Composer 到框架目录失败!" && return 1 echo "$(nhead red) 移动内建 Composer 到框架目录失败!" && return 1
} }
composer_executable="$ZM_RUNTIME_DIR/composer" composer_executable="$ZM_RUNTIME_DIR/composer"
fi fi
return 0 return 0
} }
function install_framework() { function install_framework() {
echo "$(nhead) 开始安装框架到目录 $ZM_CUSTOM_DIR ..." echo "$(nhead) 开始安装框架到目录 $ZM_CUSTOM_DIR ..."
export COMPOSER_ALLOW_SUPERUSER=1 export COMPOSER_ALLOW_SUPERUSER=1
@@ -239,10 +251,10 @@ function install_framework() {
echo "$(nhead) 从 Composer 拉取框架 ..." && \ echo "$(nhead) 从 Composer 拉取框架 ..." && \
echo '{"minimum-stability":"dev","prefer-stable":true}' > composer.json && $composer_executable require -n zhamao/framework:^3.0 && \ echo '{"minimum-stability":"dev","prefer-stable":true}' > composer.json && $composer_executable require -n zhamao/framework:^3.0 && \
$composer_executable require -n --dev swoole/ide-helper:^4.5 && \ $composer_executable require -n --dev swoole/ide-helper:^4.5 && \
if_restore_native_runtime && \
echo "$(nhead) 初始化框架脚手架文件 ..." && \
vendor/bin/zhamao init && \ vendor/bin/zhamao init && \
echo "$(nhead) 初始化框架脚手架文件 ..." && \
$composer_executable dump-autoload -n && \ $composer_executable dump-autoload -n && \
if_restore_native_runtime && \
show_success_msg || { show_success_msg || {
echo "$(nhead red) 安装框架失败!" && cd $ZM_PWD && rm -rf "$ZM_CUSTOM_DIR" && return 1 echo "$(nhead red) 安装框架失败!" && cd $ZM_PWD && rm -rf "$ZM_CUSTOM_DIR" && return 1
} }