Alist V3编译教程
本文最后更新于 2024-08-04,文章内容可能已经过时!
一、部署环境
需要环境(git, nodejs, pnpm, golang>=1.19, gcc)
安装git,gcc
sudo apt-get install git gcc -y
安装golang1.20.4
下载golang
wget https://go.dev/dl/go1.20.4.linux-amd64.tar.gz
解压golang
tar -xvf go1.20.4.linux-amd64.tar.gz
移动解压后go文件夹
sudo mv go /usr/local/
配置环境变量
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
查看是否安装成功
go version
安装nodejs
apt-get install -y curl && curl -fsSL https://deb.nodesource.com/setup_18.x -o nodesource_setup.sh && bash nodesource_setup.sh
查看nodejs是否安装
node -v
环境安装完毕,开始编译
二、编译项目
创建一个目录文件并进入
mkdir Alist && cd Alist\
克隆源码
前端:git clone --recurse-submodules https://github.com/alist-org/alist-web.git
后端:git clone https://github.com/alist-org/alist.git
安装pnpm
npm install -g pnpm
安装后端中文语言包
进入后端
cd alist-web
下载中文语言包并解压语言包
wget https://crowdin.com/backend/download/project/alist/zh-CN.zip && unzip zh-CN.zip
初始语言包并删除语言压缩包
node ./scripts/i18n.mjs && rm zh-CN.zip
开始编译前端
pnpm install && pnpm run build
编译完后把dist目录复制到后端public里
cp -r /home/lonely/Alist/alist-web/dist /home/lonely/Alist/alist/public/
三、编译后端
进入后端目录
cd && cd Alist/alist/
编译命令
appName="alist"
builtAt="$(date +'%F %T %z')"
goVersion=$(go version | sed 's/go version //')
gitAuthor=$(git show -s --format='format:%aN <%ae>' HEAD)
gitCommit=$(git log --pretty=format:"%h" -1)
version=$(git describe --long --tags --dirty --always)
webVersion=$(wget -qO- -t1 -T2 "https://api.github.com/repos/alist-org/alist-web/releases/latest" | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
ldflags="\
-w -s \
-X 'github.com/alist-org/alist/v3/internal/conf.BuiltAt=$builtAt' \
-X 'github.com/alist-org/alist/v3/internal/conf.GoVersion=$goVersion' \
-X 'github.com/alist-org/alist/v3/internal/conf.GitAuthor=$gitAuthor' \
-X 'github.com/alist-org/alist/v3/internal/conf.GitCommit=$gitCommit' \
-X 'github.com/alist-org/alist/v3/internal/conf.Version=$version' \
-X 'github.com/alist-org/alist/v3/internal/conf.WebVersion=$webVersion' \
"
go build -ldflags="$ldflags" .
编译完成目录中的alist就是了
运行命令
./alist server
查看密码
./alist admin
四、魔改代码
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果