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.14.2
scoop install go
#运行命令来测试go 是否安装:
go version
参考 下载 | Node.js 安装 Node.js;
https://nodejs.org/en/download/ 我安装的时候是v12.16.2 cloudreve要求V8以上
scoop install nodejs
#运行命令来测试nodejs 是否安装:
node -v
参考 安装 | Yarn 安装Yarn;
scoop install yarn
#运行命令来测试Yarn 是否安装:
yarn --version
执行 go get github.com/rakyll/statik 安装statik 命令行工具;
克隆代码
git clone --recurse-submodules https://github.com/cloudreve/Cloudreve.git
构建静态资源
# 进入cloudreve
cd Cloudreve
# 进入前端子模块
cd assets
# 安装依赖
yarn install
# 开始构建
yarn run build
完成后,所构建的静态资源文件位于 assets/build 目录下。
你可以将此目录改名为statics 目录,放置在 Cloudreve 主程序同级目录下并重启 Cloudreve,Cloudreve 将会使用此目录下的静态资源文件,而非内置的。
# 回到项目主目录
cd ..
# 安装 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 。