从源码运行

Noah Hsu2022年9月11日
  • Guide
  • Install
  • Guide
大约 1 分钟

从源码运行

警告

此步骤仅适用于需要自行修改源代码的用户。 不明白的请跳过。

环境准备

首先,你需要一个有gitnodejspnpmgolang>=1.18gcc的环境

构建前端

克隆 https://github.com/alist-org/alist-webopen in new window ,执行 pnpm && pnpm build 得到 dist 目录下的目标文件

构建后端

克隆 https://github.com/alist-org/alistopen in new window ,将上一步的 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" .
Loading...