本帖最后由 好鸭 于 2022-9-5 01:12 编辑
首先,直接用官方预编译二进制文件运行一下,看看是怎么样的
就是这样,显示"Powered by Alist"很合理
那么,现在自己编译一个,改一下这里要怎么办呢?
目前应该是是V2分支,默认分支要新很多
仓库内有一个build.sh脚本文件,应该是给github action用的
官方文档也有说
有些坑,有些github仓库分支对不上
了解的过程就不说了,直接一把梭吧
先是像build.sh里的那样构建前端,不过我们要改一下版权信息
构建用的命令是yarn && yarn build,要装nodejs,就用nvm安装咯
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
- export NVM_DIR="$HOME/.nvm"
- [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
- [ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion" # This loads nvm bash_completion
- nvm install node
复制代码
具体看https://github.com/nvm-sh/nvm
npm装yarn
- git clone https://github.com/alist-org/web-v2.git
- cd web-v2
复制代码
克隆仓库后,请开始你的炸弹秀。我呢就随便改改,把Powered by换成了"运行于",你们要怎么改就怎么改
然后
编译出来了处理一下(build.sh脚本内的,跟着执行)
- sed -i -e "s//CDN_URL////g" dist/index.html
- sed -i -e "s/assets//assets/g" dist/index.html
- rm -f dist/index.html-e
复制代码
前端弄好了,就要弄进去alist里了,不知道为啥不弄成可以前后端分离的,要都打包进一个二进制文件里
需要安装golang
- wget https://golang.google.cn/dl/go1.19.linux-amd64.tar.gz
- tar -C /usr/local -xzf go1.19.linux-amd64.tar.gz
- rm -f go1.19.linux-amd64.tar.gz
- echo ‘export PATH=$PATH:/usr/local/go/bin’ > ~/.bashrc
- source ~/.bashrc
复制代码
- git clone https://github.com/alist-org/alist -b v2
- cd alist
复制代码
然后
- cp -r ../web-v2/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
复制代码
搞定之后就有一个alist文件
运行它看看咋样
变成了预期的"运行于 Alist",非常合理
最后,看这个
|