Appearance
安装与配置
本指南将帮助你在本地环境中安装和配置 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 inittargo 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 扩展以获得最佳开发体验:
- 打开 VS Code
- 进入扩展市场(Ctrl+Shift+X 或 Cmd+Shift+X)
- 搜索 "Targo"
- 点击安装
扩展功能:
- 语法高亮
- 代码补全
- 错误提示
- 跳转定义
- 代码格式化
其他编辑器
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 版本过低。
解决方案:
- 访问 Go 官网 下载最新版本
- 安装后验证:
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.json的exclude中配置) - 使用增量编译
下一步
获取帮助
如果遇到问题:
- 查看 常见问题
- 查看 故障排除
- 访问 GitHub Issues
- 加入社区讨论