附录 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中。

Last change: 2023-09-15, commit: c0f1233