构建
Cloudreve 项目主要由两部分组成:后端主仓库 cloudreve/Cloudreve,以及前端仓库 cloudreve/Cloudreve。编译 Cloudreve 后端前,需要先构建assets 目录下的前端子模块,并使用statik嵌入到后端仓库。
环境准备
以下安装全部以windows10为例
通过 Scoop 软件(包)管理器安装环境,确保已安装PowerShell 5(或更高版本,包括PowerShell Core)和.NET Framework 4.5(或更高版本)。然后运行:
#首先在开始菜单里打开windows PowerShell
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
iwr -useb get.scoop.sh | iex
注意:如果遇到错误,则可能需要使用以下命令更改执行策略(即启用Powershell)
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
参照 Getting Started – The Go Programming Language 安装并配置Go语言开发环境;https://golang.org/dl/ 以下安装的go环境为1.15.8
scoop install go
#运行命令来测试go 是否安装:
go version
参考 下载 | Node.js 安装 Node.js;https://nodejs.org/en/download/ 我安装的时候是v14.15.4 cloudreve要求V8以上不要超过v17,否则会报
scoop install nodejs@14.15.4
#运行命令来测试nodejs 是否安装:
node -v
参考 安装 | Yarn 安装Yarn;
scoop install yarn
#运行命令来测试Yarn 是否安装:
yarn --version
开始构建
克隆代码
git clone --recurse-submodules https://github.com/cloudreve/Cloudreve.git
构建静态资源
# 进入前端子模块
cd Cloudreve/assets
# 安装依赖
yarn install
# 开始构建
yarn run build
完成后,所构建的静态资源文件位于 assets/build 目录下。
你可以将此目录改名为statics 目录,放置在 Cloudreve 主程序同级目录下并重启 Cloudreve,Cloudreve 将会使用此目录下的静态资源文件,而非内置的。
嵌入静态资源
# 回到项目主目录
cd ../
# 解决go包管理代理网址无法访问(目前可用)
go env -w GOPROXY=https://goproxy.cn
# 安装 statik, 用于嵌入静态资源
go get github.com/rakyll/statik
# 开始嵌入
statik -src=assets/build/ -include=*.html,*.js,*.json,*.css,*.png,*.svg,*.ico -f
编译项目
编译前需要配置编译环境,不然会报错
# 开始编译
go build -a -o cloudreve.exe
首次编译时,Go 会下载相关依赖库,如果您的网络环境不佳,可能会导致这一步速度过慢或者失败。你可以使用 GOPROXY.IO 加快模块下载速度。编译完成后,会在项目根目录下生成最终的可执行文件cloudreve 。
本站所有文章,如无特殊说明或标注,均为本站原创发布。
任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。