从源码运行
GuideInstallGuide大约 1 分钟
从源码运行
警告
此步骤仅适用于需要自行修改源代码的用户。 不明白的请跳过。
环境准备
首先,你需要一个有git
,nodejs
,pnpm
,golang>=1.20
,gcc
的环境
构建前端
使用 git clone --recurse-submodules https://github.com/alist-org/alist-web.git
克隆前端 ,执行 pnpm install && pnpm build
得到 dist 目录下的目标文件
构建后端
克隆 https://github.com/alist-org/alist ,将上一步的 dist
目录复制到项目下的 public
目录下,然后执行:
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" .
你可能需要的编译教程视频
Windows版本:https://www.bilibili.com/video/BV1Xr4y1z723
(虽然是V2版的,但是跟V3版本一样的..)