Skip to content

For Developers

梅釉酥汁 edited this page Jan 26, 2024 · 6 revisions

如何参与开发?

1. 安装 node,pnpm 环境(如果已经完成,跳过)

// 也许你需要处理下 electron 镜像的位置
pnpm config set electron_mirror=https://repo.huaweicloud.com/electron/
// registry 我用的是 
registry=http://mirrors.cloud.tencent.com/npm/

1.1 安装 node

推荐使用 nvm 进行 node 版本管理 nvm-github地址

node >= 16.0.0 我用的 v18.12.1(推荐版本) node下载地址

1.2 安装 pnpm

// 这将为你安装 pnpm 包管理器

npm i -g pnpm 

2. 进入项目根目录

// 安装项目依赖

pnpm i 

3. 安装完成后

3.1 拷贝 env 文件

将根目录 和 server目录下的.env.example 文件原地复制一个,并改名为 .env

3.2 启动项目

根目录下执行 pnpm dev

4. 如何打包

// 根目录执行以下命令

pnpm package

如何在 NixOS 下设置开发环境

首先启用 flake 功能,若已启用 flake . 请直接参考接下来的 flake.nix 文件

1. 启用 Flake

在您的 NixOS 配置文件中加入以下内容

  { config, pkgs, ... }:

  {
    imports = [
        xxx.nix 
    ];

    # 省略一些配置...
  
++  nix.settings.experimental-features = [ "nix-command" "flakes" ];

    #...
  }

2. 使用 flake 参与开发

nix develop 命令使用以下 flake 文件即可进入开发环境

{
  description = "R3PLAYX Developement Environment";
  inputs.nixpkgs.url = "github:NixOS/nixpkgs/master";
  inputs.flake-utils.url = "github:numtide/flake-utils";

  outputs = { self, nixpkgs, flake-utils }:
    flake-utils.lib.eachDefaultSystem (system: let
      pkgs = nixpkgs.legacyPackages.${system};
    in {
      devShell = pkgs.mkShell {
        nativeBuildInputs = [ pkgs.bashInteractive ];
        buildInputs = with pkgs; [
          nodePackages.prisma
          nodePackages.yarn
          nodejs_18
	 corepack_18
        ];
        shellHook = with pkgs; ''
          export PRISMA_MIGRATION_ENGINE_BINARY="${prisma-engines}/bin/schema-engine"
          export PRISMA_QUERY_ENGINE_BINARY="${prisma-engines}/bin/query-engine"
          export PRISMA_QUERY_ENGINE_LIBRARY="${prisma-engines}/lib/libquery_engine.node"
          export PRISMA_INTROSPECTION_ENGINE_BINARY="${prisma-engines}/bin/introspection-engine"
          export PRISMA_FMT_BINARY="${prisma-engines}/bin/prisma-fmt"
        '';
      };
    });
}