从 0 开始安装和运行 Cangjie (仓颉)

标准方法

参照 配置开发环境 的描述,下载 Cangjie for DevEco Studio 插件 DevEco Studio NEXT Developer Beta2-Cangjie Plugin(5.0.3.500)。然后在 DevEco Studio NEXT Developer Beta2 中从本地磁盘安装插件,选择下载好的 "devecostudio-cangjie-plugin-windows-5.0.3.500.zip" 安装。完成后即可直接在 DevEco 中使用。

手动安装

从上述网站下载插件后,解压其中的 "harmonyos-cangjie-sdk-windows.zip",得到以下目录 (部分文件和层级省略):

cangjie
├---build
| ├---linux_ohos_aarch64_llvm
| └---x86_64-w64-mingw32
├---compiler
| ├---bin
| ├---lib
| ├---modules
| ├---runtime
| ├---third_party
| └---tools
└---jslibs-loader
| └---lib
└---musl
└---usr

将解压出来的目录 (包括 cangjie) 移动到一个专门的位置,比如: "C:\Users\zhongdongy\.cangjie-sdk\5.0\" 下。这个方式和使用插件安装没有区别。

安装完成后,添加以下环境变量:

  • CANGJIE_HOME: C:\Users\zhongdongy\.cangjie-sdk\5.0\cangjie\compiler
  • PATH 下增加:
    • C:\Users\zhongdongy\.cangjie-sdk\5.0\cangjie\compiler\runtime\lib\windows_x86_64_llvm
    • C:\Users\zhongdongy\.cangjie-sdk\5.0\cangjie\compiler\lib\windows_x86_64_llvm
    • C:\Users\zhongdongy\.cangjie-sdk\5.0\cangjie\compiler\bin
    • C:\Users\zhongdongy\.cangjie-sdk\5.0\cangjie\compiler\tools\bin
    • C:\Users\zhongdongy\.cangjie-sdk\5.0\cangjie\compiler\tools\lib
    • C:\Users\zhongdongy\.cjpm\bin

运行第一个 Cangjie 应用程序

在工作目录中间一个 server.cj 文件,内容如下:

import net.http.*
func start_server(): Unit {
let server = ServerBuilder()
.addr("0.0.0.0")
.port(8080)
.build()
server.distributor.register("/hello", { http_context =>
http_context.responseBuilder.body("Hello Cangjie!")
})
server.serve()
}
main(): Unit {
let fut: Future<Unit> = spawn {
start_server()
}
fut.get()
}

这段代码就是启动一个新线程,创建 HTTP 服务器,监听 8080 端口上来自所有网络的请求,然后对于 URL Path 为 /hello 的请求,响应一个字符串 "Hello Cangjie!"

随后在同目录下执行构建命令:

cjc --output server.exe server.cj

此时目录中会出现三个文件:

  • default.bchir2: 编译产物中的二进制文件,具体作用暂时不详
  • default.cjo: 编译的目标文件
  • server.exe: 编译产生的可执行程序

运行 server.exe,然后在浏览器访问 "http://127.0.0.1:8080" 可以看到如下的内容:

  那阵东风  阅读(1493)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示