Cloudreve
主页论坛GitHubV4 文档
简体中文
简体中文
  • 欢迎
  • 起步
    • 快速开始
    • 配置文件
    • 构建
  • 使用
    • 存储策略
      • 对比
      • S3 兼容
    • WebDAV
    • 离线下载
    • 自定义前端
    • 扩展文档预览/编辑
    • 缩略图
    • 捐助版相关
      • 介绍
      • iOS 客户端批量授权
      • 自定义支付渠道
  • 维护
    • 数据库脚本
    • 升级
      • 从 3.x.x 升级
      • 从 2.x.x 升级
      • 升级到捐助版
由 GitBook 提供支持
在本页
  • 环境准备
  • 开始构建
  • 克隆代码
  • 构建静态资源
  • 编译项目
  • 构建助手

这有帮助吗?

在GitHub上编辑
  1. 起步

构建

上一页配置文件下一页存储策略

最后更新于2年前

这有帮助吗?

Cloudreve 项目主要由两部分组成:后端主仓库 ,以及前端仓库 。编译 Cloudreve 后端前,需要先构建assets 目录下的前端子模块,并使用 嵌入到后端仓库。

环境准备

  1. 参照 安装并配置 Go 语言开发环境 (>=1.18);

  2. 参考 安装 Node.js;

  3. 参考 安装 Yarn;

开始构建

克隆代码

# 克隆仓库
git clone --recurse-submodules https://github.com/cloudreve/Cloudreve.git

# 签出您要编译的版本
git checkout 3.x.x

构建静态资源

# 进入前端子模块
cd assets
# 安装依赖
yarn install
# 开始构建
yarn run build
# 构建完成后删除映射文件
cd build
find . -name "*.map" -type f -delete
# 返回项目主目录打包静态资源
cd ../../
zip -r - assets/build >assets.zip

完成后,所构建的静态资源文件位于 assets/build 目录下。

你可以将此目录改名为statics 目录,放置在 Cloudreve 主程序同级目录下并重启 Cloudreve,Cloudreve 将会使用此目录下的静态资源文件,而非内置的。

编译项目

# 回到项目主目录
cd ../

# 获得当前版本号、Commit
export COMMIT_SHA=$(git rev-parse --short HEAD)
export VERSION=$(git describe --tags)

# 开始编译
go build -a -o cloudreve -ldflags " -X 'github.com/cloudreve/Cloudreve/v3/pkg/conf.BackendVersion=$VERSION' -X 'github.com/cloudreve/Cloudreve/v3/pkg/conf.LastCommit=$COMMIT_SHA'"

编译完成后,会在项目根目录下生成最终的可执行文件cloudreve 。

构建助手

# 安装 goreleaser
go install github.com/goreleaser/goreleaser@latest

# 构建项目
goreleaser build --clean --single-target --snapshot

或者交叉编译出所有可用版本:

goreleaser build --clean --snapshot

首次编译时,Go 会下载相关依赖库,如果您的网络环境不佳,可能会导致这一步速度过慢或者失败。你可以使用 加快模块下载速度。

你可以使用 快速完成构建、打包等操作,使用方法如下:

cloudreve/Cloudreve
cloudreve/frontend
statik
Getting Started - The Go Programming Language
下载 | Node.js
安装 | Yarn
GOPROXY.IO
goreleaser