【仓颉】仓颉编程语言Windows安装指南 配置环境变量 最简单解决中文乱码问题和其他解决方案大全
适用于版本: 0.53.13 | 发布日期: 2024-10-24 (以后的可能也适用)
本机windows版本:24H2 内部版本号windows 10.0.26100
因为仓颉的官方文档一直没更新,所以在这里写一下如何在windows上完成这些配置和成功运行
安装
从官方渠道下载zip的压缩包(如Cangjie-x.y.z-windows_x64.zip)以后,解压在任意适合的目录
一级目录,会发现里面有3个脚本文件,分别为envsetup.bat,envsetup.ps1 和 envsetup.sh
下面摘自文档:
若使用 Windows 命令提示符(CMD)环境,请执行
path\to\cangjie\envsetup.bat
若使用 PowerShell 环境,请执行:
path\to\cangjie\envsetup.ps1
若使用 MSYS shell、bash 等环境,请执行:
source path/to/cangjie/envsetup.sh
可以通过输入cjc -v来判断是否安装成功,但是由于 envsetup 脚本所配置的环境变量仅在当前命令行窗口有效,编程的时候会遇到很多问题,所以下面分享如何全局环境变量
配置环境变量
首先在系统变量中,我新建了一个变量名字为CANGJIE_HOME的变量,地址为Cangjie解压后 含有配置环境脚本文件的那一级目录的绝对路径,如图
然后我在系统变量的Path中新添加额外的5个环境变量
其中这个目录个人认为可以用%CANGJIE_HOME%替代,
所以我下面给出的是%CANGJIE_HOME%的版本
%CANGJIE_HOME%\bin
%CANGJIE_HOME%\tools\bin
%CANGJIE_HOME%\runtime\lib\windows_x86_64_llvm
%CANGJIE_HOME%\tools\lib
%USERPROFILE%\.cjpm\bin
配置以后记得测试一下
第一个仓颉程序
// hello.cj
main() {
println("你好,仓颉")
}
使用cjc hello.cj -o hello.exe编译以后,会发现中文打印会出错
这里只给出在当前终端环境最方便的解决方案,仅限当前终端使用,关闭或新建终端后需要重新输入
其他方法,包括永久生效方法在下面给出
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
}
最简单的在当前终端能正常显示的解决方案
其他解决方案大全
1. 控制面板方法 (永久生效)
找到控制面板的区域设置,点击管理,如下图,更改系统区域设置,勾选beta攻能
2. 直接运行法
如果使用的vscode,直接右上角run code,而不是自己在终端里运行
(可能需要安装cangjie官方的vscode插件)
此方法原理为,会新建一个cmd的终端(vscode自己开的终端默认为powershell)
并且是用chcp 65001,即调整编码格式了以后的,也是临时方法,仅当前创口有效
其他方法
- 暂时和永久更改CMD以及powershell输出方法,不一定适用于win11
参考
- 仓颉官方安装文档 安装仓颉工具链
- 仓颉官方安装文档 运行第一个仓颉程序
- 仓颉语言运行中文乱码问题