@@ -32,19 +32,29 @@ check_node_version() {
32
32
if [[ " $node_version " < " v20.0.0" ]]; then
33
33
echo " Node.js版本低于20.0.0,正在安装Node.js v20以上版本..."
34
34
install_node_v20
35
+ npm config set registry https://registry.npmmirror.com
35
36
else
36
37
echo " Node.js版本符合要求(v20以上),跳过安装。"
37
38
fi
38
39
}
39
40
40
41
# 安装Node.js v20以上版本
41
42
install_node_v20 () {
42
- echo " 正在安装Node.js v20以上版本..."
43
- curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
44
- sudo apt-get update
45
- sudo apt-get install -y nodejs
46
- npm install -g cnpm --registry=https://registry.npmmirror.com
47
- echo " Node.js v20以上版本安装完成。"
43
+ echo " 正在安装NVM..."
44
+ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
45
+
46
+ # 启用NVM
47
+ export NVM_DIR=" $( [ -z " ${XDG_CONFIG_HOME-} " ] && printf %s " ${HOME} /.nvm" || printf %s " ${XDG_CONFIG_HOME} /nvm" ) "
48
+ [ -s " $NVM_DIR /nvm.sh" ] && \. " $NVM_DIR /nvm.sh"
49
+
50
+ # 安装Node.js 20.18.1
51
+ echo " 正在安装Node.js 20.18.1..."
52
+ nvm install 20.18.1
53
+
54
+ # 设置默认Node.js版本
55
+ nvm alias default 20.18.1
56
+
57
+ echo " Node.js 20.18.1安装完成。"
48
58
}
49
59
50
60
# 检查NVM是否存在,如果不存在则安装
63
73
install_yarn_and_pm2 () {
64
74
if command -v yarn > /dev/null 2>&1 ; then
65
75
echo " Yarn已安装,跳过Yarn安装。"
76
+ yarn config set registry https://registry.yarnpkg.com
66
77
else
67
78
echo " Yarn未安装,正在安装Yarn..."
68
79
nvm install-node # 安装最新版本的Node.js,自动选择大于v20的版本
69
80
nvm use default
70
81
npm install -g yarn
82
+ yarn config set registry https://registry.yarnpkg.com
71
83
if [ $? -ne 0 ]; then
72
84
echo " Yarn安装失败,请手动安装Yarn后重试。"
73
85
exit 1
@@ -129,8 +141,8 @@ get_device_ip() {
129
141
# 这里使用的是ipinfo.io服务,你也可以使用其他服务
130
142
IP=$( curl -s https://ipinfo.io/ip)
131
143
if [ $? -eq 0 ]; then
132
- echo " = 设备IP地址:$IP "
133
- echo " = 公网IP自行打码"
144
+ echo " = 设备IP地址:$IP "
145
+ echo " = 公网IP自行打码"
134
146
return 0
135
147
else
136
148
echo " 无法获取设备IP地址。"
@@ -212,25 +224,25 @@ initialize_default_env() {
212
224
if [ ! -f " $env_path " ]; then
213
225
echo " .env文件不存在,正在使用.env.development作为模板创建..."
214
226
# 提示用户输入自定义值,并设置30秒超时
215
- echo " 请输入网盘入库密码(30秒内无输入则使用默认值'drpys'):"
227
+ echo " 请输入网盘入库密码(30秒内无输入则使用默认值'drpys'直接回车可跳过 ):"
216
228
read -t 30 cookie_auth_code
217
229
if [ -z " $cookie_auth_code " ]; then
218
230
cookie_auth_code=" drpys"
219
231
fi
220
232
221
- echo " 请输入登录用户名(30秒内无输入则使用默认值'admin'):"
233
+ echo " 请输入登录用户名(30秒内无输入则使用默认值'admin'直接回车可跳过 ):"
222
234
read -t 30 api_auth_name
223
235
if [ -z " $api_auth_name " ]; then
224
236
api_auth_name=" admin"
225
237
fi
226
238
227
- echo " 请输入登录密码(30秒内无输入则使用默认值'drpys'):"
239
+ echo " 请输入登录密码(30秒内无输入则使用默认值'drpys'直接回车可跳过 ):"
228
240
read -t 30 api_auth_code
229
241
if [ -z " $api_auth_code " ]; then
230
242
api_auth_code=" drpys"
231
243
fi
232
244
233
- echo " 请输入订阅PWD值(30秒内无输入则使用默认值'dzyyds'):"
245
+ echo " 请输入订阅PWD值(30秒内无输入则使用默认值'dzyyds'直接回车可跳过 ):"
234
246
read -t 30 api_pwd
235
247
if [ -z " $api_pwd " ]; then
236
248
api_pwd=" dzyyds"
@@ -253,17 +265,31 @@ initialize_default_env() {
253
265
fi
254
266
}
255
267
268
+ # 定义读取.env文件参数的函数
269
+ read_env_params () {
270
+ # 读取.env文件中的参数值,考虑等号前后的空格
271
+ COOKIE_AUTH_CODE=$( grep ' ^COOKIE_AUTH_CODE' .env | sed -e ' s/^[[:space:]]*//' -e ' s/[[:space:]]*$//' | cut -d' =' -f2)
272
+ API_AUTH_NAME=$( grep ' ^API_AUTH_NAME' .env | sed -e ' s/^[[:space:]]*//' -e ' s/[[:space:]]*$//' | cut -d' =' -f2)
273
+ API_AUTH_CODE=$( grep ' ^API_AUTH_CODE' .env | sed -e ' s/^[[:space:]]*//' -e ' s/[[:space:]]*$//' | cut -d' =' -f2)
274
+ API_PWD=$( grep ' ^API_PWD' .env | sed -e ' s/^[[:space:]]*//' -e ' s/[[:space:]]*$//' | cut -d' =' -f2)
275
+
276
+ # 输出参数值
277
+ echo " = 当前登录账户$API_AUTH_NAME "
278
+ echo " = 当前登录密码$API_AUTH_CODE "
279
+ echo " = 当前入库密码$COOKIE_AUTH_CODE "
280
+ echo " = 当前订阅pwd值$API_PWD "
281
+ }
282
+
283
+
256
284
# IP显示标识
257
285
has_displayed_ip=" "
258
286
# 显示内网和公网访问地址
259
287
display_ip_addresses () {
260
288
echo " =================================================="
261
289
echo " = 项目主页及相关默认值提示 "
262
290
echo " = 内网访问地址:http://$LOCAL_IP :5757 "
263
- echo " = 默认登录账户admin "
264
- echo " = 默认登录密码drpys "
265
- echo " = 默认入库密码drpys "
266
- echo " = 默认订阅pwd值dzyyds "
291
+ # 调用read_env_params函数来显示.env中的值
292
+ read_env_params
267
293
echo " = 如需修改以上密码值则自行修改源码根目录.env文件 "
268
294
get_device_ip
269
295
if [ $? -eq 0 ]; then
@@ -504,7 +530,7 @@ while true; do
504
530
if [ -z " $has_displayed_ip " ]; then # 检查是否已经显示过IP地址
505
531
echo " 当前仓库已经是最新的,无需更新。"
506
532
display_ip_addresses
507
- has_displayed_ip=1 # 设置一个标志,表示已经显示过IP地址
533
+ has_displayed_ip=1 # 设置一个标志,表示已经显示过IP地址
508
534
fi
509
535
break # 退出循环
510
536
fi
0 commit comments