2.6. 从 Docker 开发环境开始

2.6.1. 为什么使用 docker 开发环境

PikaScript 的内核和标准库都是在 docker 环境下开发的,当需要开发一些涉及到内核内部的功能时,会容易出现一些难以调试的问题,如:

  • 内存泄漏
  • 内存越界
  • 破坏内核原有功能 单元测试框架内存检查工具 ,如果有内存安全问题,可以快速发现并解决,避免出现内存隐患。 PikaScript 的 linux 开发平台还需要安装 go,rust,GoogleTest,GoogleBenchmark,valgrind 等等工具,比较繁琐,基于 Docker 的开发环境可以一键安装这些工具,并保证所有开发者的开发环境都是一致的。 在 Docker 的构建脚本中已经完成了换源操作,所以不需要使用 vpn,即可在中国大陆顺利的搭建 Docker 开发环境。

    2.6.2. 构建 Docker 容器

    请确认已经在宿主机安装好了 Docker:
  • Linux 平台直接安装 Docker
  • Windows 平台安装 Docker-Desktop

  • 安装手册 (如果是 windows 平台,可以在 wsl 中使用下面的命令,不要使用 PowerShell) step1: 克隆仓库

    1. git clone https://gitee.com/lyon1998/pikascriptcd pikascript/docker

    step2: 构建 Docker 镜像,然后启动容器

    1. bash build.shsh run.sh

    step3: 初始化 port/linux

    1. cd port/linuxsh pull-core.shsh init.sh

    step4: 运行 GoogleTest, BenchMark,和 valgrind

    1. sh gtest.shsh ci_benchmark.shsh valgrind.sh

    step5: 运行 REPL

    1. sh run.sh

    标准库的开发流程。