Skip to content

安装与配置

本指南将帮助你在本地环境中安装和配置 Targo。

系统要求

在开始之前,请确保你的系统满足以下要求:

  • Node.js: 18.0 或更高版本
  • Go: 1.22 或更高版本
  • 包管理器: npm、pnpm 或 yarn

检查版本

bash
# 检查 Node.js 版本
node --version  # 应该 >= 18.0

# 检查 Go 版本
go version      # 应该 >= 1.22

# 检查 npm 版本
npm --version

安装 Targo CLI

全局安装(推荐)

bash
npm install -g @targo/cli

安装完成后,验证安装:

bash
targo version

你应该看到类似以下的输出:

Targo CLI v0.1.0
Compiler: v0.1.0
Checker: v0.1.0
Binder: v0.1.0
Node: v18.17.0
Go: go1.22.0

项目本地安装

如果你不想全局安装,也可以在项目中本地安装:

bash
# 使用 npm
npm install --save-dev @targo/cli

# 使用 pnpm
pnpm add -D @targo/cli

# 使用 yarn
yarn add -D @targo/cli

本地安装后,使用 npx 运行命令:

bash
npx targo version

创建新项目

使用 create-targo(推荐)

最快的方式是使用 create-targo 脚手架工具:

bash
npx @targo/create-targo my-app
cd my-app

这会创建一个包含以下内容的新项目:

my-app/
├── src/
│   └── main.ts          # 入口文件
├── .targo/              # 类型声明缓存
├── targo.json           # Targo 配置
├── tsconfig.json        # TypeScript 配置
├── go.mod               # Go 模块配置
└── package.json         # Node.js 配置

手动初始化

如果你想在现有项目中使用 Targo,可以手动初始化:

bash
# 创建项目目录
mkdir my-targo-app
cd my-targo-app

# 初始化 Targo 项目
targo init

targo init 会提示你输入项目信息:

bash
? Project name: my-targo-app
? Go module path: github.com/username/my-targo-app

项目结构

一个典型的 Targo 项目结构如下:

my-targo-app/
├── src/                 # 源代码目录
│   ├── main.ts         # 主入口文件
│   └── utils.ts        # 其他模块
├── .targo/             # 类型声明缓存(自动生成)
│   ├── lib.targo.d.ts  # Targo 核心类型
│   └── std/            # Go 标准库类型声明
│       ├── fmt.d.ts
│       ├── os.d.ts
│       └── ...
├── dist/               # 编译输出目录(可配置)
│   └── main.go
├── targo.json          # Targo 配置文件
├── tsconfig.json       # TypeScript 配置文件
├── go.mod              # Go 模块文件
└── package.json        # Node.js 配置文件

配置文件

targo.json

Targo 的主配置文件:

json
{
  "compilerOptions": {
    "outDir": "./dist",
    "rootDir": "./src",
    "module": "github.com/username/my-targo-app"
  },
  "include": ["src/**/*.ts"],
  "exclude": ["node_modules", "**/*.test.ts"]
}

配置选项说明

  • outDir: 编译后的 Go 代码输出目录
  • rootDir: 源代码根目录
  • module: Go 模块路径(用于 import)
  • include: 要编译的文件模式
  • exclude: 要排除的文件模式

tsconfig.json

TypeScript 配置文件,用于类型检查:

json
{
  "compilerOptions": {
    "target": "ES2020",
    "module": "ESNext",
    "moduleResolution": "node",
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "types": ["@targo/core"]
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "dist"]
}

go.mod

Go 模块配置文件:

go
module github.com/username/my-targo-app

go 1.22

如果项目中还没有 go.mod,运行:

bash
go mod init github.com/username/my-targo-app

绑定 Go 标准库

Targo 需要 Go 标准库的类型声明才能使用。首次使用时,绑定常用的包:

bash
# 绑定基础包
targo bind fmt errors strings

# 绑定文件 I/O
targo bind os io path/filepath

# 绑定网络
targo bind net net/http

# 绑定 JSON
targo bind encoding/json

# 绑定时间
targo bind time

这些命令会在 .targo/std/ 目录下生成对应的类型声明文件。

IDE 支持

VS Code

安装 Targo 的 VS Code 扩展以获得最佳开发体验:

  1. 打开 VS Code
  2. 进入扩展市场(Ctrl+Shift+X 或 Cmd+Shift+X)
  3. 搜索 "Targo"
  4. 点击安装

扩展功能

  • 语法高亮
  • 代码补全
  • 错误提示
  • 跳转定义
  • 代码格式化

其他编辑器

Targo 使用标准的 TypeScript 语法,大多数支持 TypeScript 的编辑器都可以使用:

  • WebStorm: 开箱即用
  • Sublime Text: 安装 TypeScript 插件
  • Vim/Neovim: 使用 coc-tsserver 或 nvim-lspconfig

验证安装

创建一个简单的 Hello World 程序来验证安装:

typescript
// src/main.ts
import { Println } from "fmt";

function main(): void {
  Println("Hello, Targo!");
}

编译并运行:

bash
# 类型检查
targo check

# 编译并运行
targo run src/main.ts

如果看到 "Hello, Targo!" 输出,说明安装成功!

常见问题

"targo: command not found"

原因: CLI 未正确安装或不在 PATH 中。

解决方案:

bash
# 重新全局安装
npm install -g @targo/cli

# 或使用 npx
npx @targo/cli version

"Go version 1.22 or higher is required"

原因: Go 版本过低。

解决方案:

  1. 访问 Go 官网 下载最新版本
  2. 安装后验证:go version

"Cannot find module '@targo/core'"

原因: Targo 核心类型未安装。

解决方案:

bash
npm install --save-dev @targo/core

"Package 'fmt' not found"

原因: 未绑定 Go 标准库。

解决方案:

bash
targo bind fmt

编译速度慢

解决方案:

  • 使用 --watch 模式进行开发
  • 排除不必要的文件(在 targo.jsonexclude 中配置)
  • 使用增量编译

下一步

获取帮助

如果遇到问题: