Skip to main content

从源码运行

danger

此步骤只是为需要自行修改源码的用户准备,不了解的话请跳过。

环境准备

首先需要有gitnodejsyarngolang>=1.18, gcc的环境

拉取并构建前端

git clone https://github.com/Xhofe/alist-web 这个项目,执行yarn && yarn build,得到dist目录下的目标文件

拉取并构建后端

git clone -b v2 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)
gitTag=$(git describe --long --tags --dirty --always)
ldflags="\
-w -s \
-X 'github.com/Xhofe/alist/conf.BuiltAt=$builtAt' \
-X 'github.com/Xhofe/alist/conf.GoVersion=$goVersion' \
-X 'github.com/Xhofe/alist/conf.GitAuthor=$gitAuthor' \
-X 'github.com/Xhofe/alist/conf.GitCommit=$gitCommit' \
-X 'github.com/Xhofe/alist/conf.GitTag=$gitTag' \
"
go build -ldflags="$ldflags" alist.go