附录 F:安装Cairo二进制文件
如果你想访问Cairo二进制文件,以获取任何仅使用 Scarb 无法实现的功能时,可以按照下面的说明安装它们。
第一步是安装Cairo。我们可以手动下载Cairo(使用Cairo仓库)或使用安装脚本。下载过程需要连接互联网。 译注:如果你生活在中国大陆,你可能需要一些特殊方法来保证能够顺利安装所有的依赖包。
先决条件
首先,你需要安装Rust和Git。
# Install stable Rust
rustup override set stable && rustup update
安装Git。
用脚本安装Cairo(Installer by Fran)
安装
如果你想安装一个特定的Cairo版本,而不是最新版本,可以设置CAIRO_GIT_TAG
环境变量(比如执行 export CAIRO_GIT_TAG=v2.2.0
来设置)。
curl -L https://github.com/franalgaba/cairo-installer/raw/main/bin/cairo-installer | bash
安装完毕后,按照说明来设置你的shell环境。
更新
rm -fr ~/.cairo
curl -L https://github.com/franalgaba/cairo-installer/raw/main/bin/cairo-installer | bash
卸载
Cairo被安装在$CAIRO_ROOT
(默认:~/.cairo)。要卸载它,只需删除它:
rm -fr ~/.cairo
然后从.bashrc中删除这三行:
export PATH=“$HOME/.cairo/target/release:$PATH”
最后,重新启动你的shell:
exec $SHELL
为Cairo设置你的shell环境
- 定义环境变量
CAIRO_ROOT
,以指向Cairo存储自身数据的路径。默认为$HOME/.cairo
。 如果你通过Git checkout安装Cairo,我们建议把它设置到与你Git clone它相同的位置。 - 将
cairo-*
可执行文件添加到你的PATH
中,如果还没被自动添加的话
下面的设置应该适用于绝大多数用户的一般使用情况。
- 对于bash :
各个发行版间的 Stock Bash 的启动文件在什么情况下调用什么样的文件,以什么顺序执行,并进行哪些额外的配置都存在很大的差异
因此,在所有环境中获得 Cairo 的最可靠方法是将 Cairo 配置命令附加到.bashrc
(用于交互式shell)和Bash将使用的配置文件中。(用于登录shell)。
首先,通过在终端运行以下命令,将这些命令添加到~/.bashrc
中:
echo 'export CAIRO_ROOT="$HOME/.cairo"' >> ~/.bashrc
echo 'command -v cairo-compile >/dev/null || export PATH="$CAIRO_ROOT/target/release:$PATH"' >> ~/.bashrc
然后,如果你有 ~/.profile
、~/.bash_profile
或~/.bash_login
,也将这些命令添加到它们所对应的文件中。如果没有这些文件,则添加到 ~/.profile
中。
-
添加到
~/.profile
中:echo ‘export CAIRO_ROOT=“$HOME/.cairo”’ >> ~/.profile echo ‘command -v cairo-compile >/dev/null || export PATH=“$CAIRO_ROOT/target/release:$PATH”’ >> ~/.profile
-
添加到
~/.bash_profile
:echo 'export CAIRO_ROOT="$HOME/.cairo"' >> ~/.bash_profile echo 'command -v cairo-compile >/dev/null || export PATH="$CAIRO_ROOT/target/release:$PATH"' >> ~/.bash_profile
-
对于Zsh:
echo 'export CAIRO_ROOT="$HOME/.cairo"' >> ~/.zshrc echo 'command -v cairo-compile >/dev/null || export PATH="$CAIRO_ROOT/target/release:$PATH"' >> ~/.zshrc
如果你希望在非交互式登录shell中也能得到Cairo,也可以将这些命令添加到
~/.zprofile
或~/.zlogin
。 -
对于Fish shell:
如果你有Fish 3.2.0或更新版本,请以交互方式执行:
set -Ux CAIRO_ROOT $HOME/.cairo fish_add_path $CAIRO_ROOT/target/release
否则,执行下面的片段:
set -Ux CAIRO_ROOT $HOME/.cairo set -U fish_user_paths $CAIRO_ROOT/target/release $fish_user_paths
在 MacOS 中,你可能还想安装Fig。它为许多命令行工具提供了替 代性的 shell 补全功能,并在终端窗口有一个类似于 IDE 的弹出式界面。(注意,他们 的命令补全功能与Cairo的代码库无关,所以他们有可能有点跟不上Cairo命令行界面的更新)。
重新启动你的shell
以使 PATH
的改变生效。
exec "$SHELL"
手动安装Cairo(指南由Abdel提供)
第1步:安装Cairo 1.0
如果你使用的是 x86 Linux 系统,并且可以使用发布的二进制文件,请在这里下载Cairo:https://github.com/starkware-libs/cairo/releases。
对于其他用户,我们建议从源码编译 Cairo,如下所示:
# Start by defining environment variable CAIRO_ROOT
export CAIRO_ROOT="${HOME}/.cairo"
# Create .cairo folder if it doesn't exist yet
mkdir $CAIRO_ROOT
# Clone the Cairo compiler in $CAIRO_ROOT (default root)
cd $CAIRO_ROOT && git clone git@github.com:starkware-libs/cairo.git .
# OPTIONAL/RECOMMENDED: If you want to install a specific version of the compiler
# Fetch all tags (versions)
git fetch --all --tags
# View tags (you can also do this in the cairo compiler repository)
git describe --tags `git rev-list --tags`
# Checkout the version you want
git checkout tags/v2.2.0
# Generate release binaries
cargo build --all --release
.
注意:保持Cairo已更新到最新版本
现在你的Cairo编译器已经在一个克隆的仓库里了,你所需要做的是拉取最新的修改, 并按如下方式重新编译:
cd $CAIRO_ROOT && git fetch && git pull && cargo build —all —release
第二步:将Cairo 1.0的可执行文件添加到你的路径中
export PATH="$CAIRO_ROOT/target/release:$PATH"
注意:如果你是在Linux编译的二进制文件,请相应调整目标路径
第三步:设置语言服务器
VS代码扩展
- 如果你安装了以前的Cairo 0扩展,你���以禁用/卸载它。
- 安装Cairo 1扩展以获得正确的语法高亮和代码导航。你可以通过这个链接下载扩展here,或者直接在VS Code市场上搜索 "Cairo 1.0"。
- 一旦你安装了Scarb,该扩展就可以立即工作了。
Cairo语言服务器(不使用Scarb时)
如果你不想依赖Scarb,你仍然可以通过编译的二进制文件使用Cairo语言服务器。
在Step 1 中,cairo-language-server
二进制文件应该已经编译完成,执行这个命令将复制其路径到你的剪贴板。
which cairo-language-server | pbcopy
将上面复制的路径更新到Cairo 1.0扩展的cairo1.languageServerPath
中。