インストール - Zed

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動

概要

Zedは、人間やAIとの高性能なコラボレーションを実現するために設計された次世代コードエディタである。
Atomエディタの共同創設者であるNathan Sobo氏らによって開発されており、複数のCPUコアとGPUを効率的に活用するために、Rustで記述されている。

Zedの主な特徴として、高速性と軽量性が挙げられる。
エディタのコア部分はRustで記述されており、パフォーマンスを重視して設計されている。
また、モダンなユーザインターフェースを採用しており、使いやすさも追求している。

Zedは協調作業に焦点を当てており、リアルタイムでの共同編集機能を備えている。
これにより、複数の開発者が同時に同じコードベースで作業することが可能になる。

AIアシスタント機能も統合されており、コーディング中に支援を受けられるようになっており、コードの補完・提案、エラーの検出等に便利である。
今後リリースされるLLMをワークフローに統合して、コードの生成、変換、解析を行うこともできる。



Zedのインストール

インストールスクリプトを使用してインストール (推奨)

以下に示すコマンドを実行して、Zedをインストールする。

# 安定版
curl -f https://zed.dev/install.sh | sh

# プレビュー版
# 安定版より約1週間早くアップデートが行われている
curl -f https://zed.dev/install.sh | ZED_CHANNEL=preview sh


ただし、以下に示すLinuxディストリビューションおよびアーキテクチャは、ソースコードからビルドする必要がある。

  • x64またはAarch64以外のアーキテクチャ (例: x86, RISC-V)
  • 全てのアーキテクチャ上のRHEL 8.x系 (例: RHEL 8.x, Rocky Linux 8.x、AlmaLinux 8.x、Amazon Linux 2等)
  • Aarch64上のRHEL 9.x系 (例: RHEL 9.x, Rocky Linux 9.x、AlmaLinux 9.x、Amazon Linux 2023等)


手動でインストール

この方法は、x64およびAarch64のみ可能である。

Zedの公式Webサイトにアクセスして、Zedをダウンロードする。
ダウンロードしたファイルを解凍する。

tar xf zed-linux-<アーキテクチャ>.tar.gz


解凍したディレクトリを任意のディレクトリに配置する。

mv zed-linux-<アーキテクチャ> <任意のディレクトリ>


デスクトップエントリファイルを作成する。

vi ~/.local/share/applications/Zed.desktop


 # ~/.local/share/applications/Zed.desktopファイル
 
 [Desktop Entry]
 Version=1.0
 Type=Application
 Name=Zed
 GenericName=Text Editor
 Comment=A high-performance, multiplayer code editor.
 TryExec=/<Zedのインストールディレクトリ>/bin/zed
 Exec=/<Zedのインストールディレクトリ>/bin/zed %U
 Icon=/<Zedのインストールディレクトリ>/share/icons/hicolor/512x512/apps/zed.png
 Categories=Utility;TextEditor;Development;IDE;
 Keywords=zed;
 MimeType=text/plain;application/x-zerosize;x-scheme-handler/zed;
 StartupNotify=true
 Actions=NewWorkspace;
 
 [Desktop Action NewWorkspace]
 Exec=/<Zedのインストールディレクトリ>/bin/zed --new %U
 Name=Open a new workspace


Zedの起動時において、以下に示すようなエラーが出力される場合は、Zedをソースコードからインストールする。
(システムのGLibcが古いことを意味する)

/lib64/libc.so.6: version 'GLIBC_2.29' not found


ソースコードからインストール

Rust / Cargoのインストール

Rust / Cargoをインストールする。

# RHEL
sudo dnf install rust-toolset cargo-c

# SUSE
sudo zypper install rust cargo


Rustを最新にアップデートする。

rustup update


また、RustupをダウンロードしてRustをインストールすることもできる。

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh


rustc、cargo、rustup等の全てのRustツールチェーンが、~/.cargo/binディレクトリにインストールされる。
したがって、開発者はこのディレクトリを環境変数PATHに含めるのが一般的である。

インストールした後、自動的に環境変数PATHの設定が行われるが、なんらかの理由により失敗することがある。
もし、手動で設定する場合は、~/.profileファイル等に環境変数PATHを設定する。

vi ~/.profile


 # ~/.profileファイル
 
 export PATH="$HOME/.cargo/bin:$PATH"


Rustが正常にインストールされているかどうかを確認する。

rustc --version


全てのRustツールチェーンをアンインストールする場合は、以下に示すコマンドを実行する。

rustup self uninstall


Zedのインストール

ZedのGuthubにアクセスして、ソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。

tar xf zed-<バージョン>.tar.gz
cd zed-<バージョン>


以下に示すいずれかの方法を選択して、Zedのビルドに必要な依存関係のライブラリをインストールする。

  • スクリプトの使用
script/linux


  • パッケージ管理システムから手動でインストール
# RHEL
sudo dnf install git tar jq cmake gcc clang  alsa-lib-devel libzstd-devel openssl-devel sqlite-devel fontconfig-devel \
                 libxkbcommon-x11-devel wayland-devel vulkan-loader

# SUSE
sudo zypper install git tar gzip jq make cmake gcc gcc-c++ clang libzstd-devel openssl-devel fontconfig-devel sqlite3-devel \
                    alsa-devel libxkbcommon-x11-devel wayland-devel libvulkan1


Cargoを使用して、Zedをビルドおよびインストールする。

# リリースビルド
# リリースビルドの主要なユーザインターフェースはcli crateである
cargo run -p cli

# デバッグビルド
cargo run


Zedの実行テストを行うこともできる。

cargo test --workspace


Zedは、X11およびWaylandの両方をサポートしている。
デフォルトでは、実行時に検索に成功したものを選択する。
もし、Waylandを使用しており、X11モードで実行する場合は、環境変数WAYLAND_DISPLAY""に設定する。

export WAYLAND_DISPLAY=""
/<Zedのインストールディレクトリ>/bin/zed



エラー関連

Zedのパフォーマンスが悪い場合

ZedはVulkanを使用しているため、Zedを効果的に実行するためにはGPUが必要となる。
パフォーマンスに問題がある場合、あるいは、Zedがロードできない場合、Vulkanが原因の可能性がある。

AMD GPUを使用している場合、"Broken Pipe"エラーが発生する可能性がある。
この場合は、RADVまたはMesaドライバを使用する。

"Zed failed to open a window."エラーが出力される場合は、、Vulkanが互換性のあるGPUを見つけられないことを意味する。
"NoSupportedDeviceFound"エラーが出力される場合は、Vulkanが互換性のあるGPUを見つけられないことを意味する。
vulkan-toolsパッケージをインストールすることにより、Vulkanのトラブルシューティングを開始できる。

vkcubeコマンドを実行することにより、現在のグラフィック設定および回転するキューブが表示される。
もし、表示されない場合は、Vulkan互換GPUドライバをインストールすることで解決できる。
ただし、例えば、ARMベースのMacOS上でLinuxを実行している場合は、Vulkanがサポートされていない場合もある。

vkcube


"ERROR_INITIALIZATION_FAILED"エラー、あるいは、"GPU Crashed、ERROR_SURFACE_LOST_KHR"エラーが表示される場合、
GPUに別のドライバをインストールする、または、別のGPUを選択して実行することにより回避できる可能性がある。

ディスクリートGPUではなく統合GPUを選択してZedを起動する場合、Zedを実行する前に環境変数DRI_PRIME1を設定することにより変更できる。

export DRI_PRIME=1
cd /<Zedのインストールディレクトリ>/bin
./zed


Mesaを使用している場合、GPUの選択について更に制御する場合は、以下に示すコマンドを実行して利用可能なGPUのリストを取得する。
MESA_VK_DEVICE_SELECT=xxxx:yyyyのように個別に指定することにより、特定のGPUを選択することもできる。

export MESA_VK_DEVICE_SELECT=list zed --foreground


amdvlkを使用している場合、sudo $(which zed)コマンドで実行する時のみ、Zedが起動する場合がある。
これを修正するには、amdvlkとlib32-amdvlkパッケージをアンインストールして、mesa/vulkanをインストールする。

OpenSSLエラー

システムがFIPSモードで動作している場合 (/proc/sys/crypto/fips_enabledが1に設定されている場合)、Zedが起動しない場合がある。
zed --foregroundコマンドを実行する時、以下に示すようなエラーが出力される。

crypto/fips/fips.c:154: OpenSSL internal error: FATAL FIPS SELFTEST FAILURE


この時、Zedのインストールディレクトリにあるlibディレクトリから、libsslライブラリおよびlibcryptoライブラリを削除する。

rm /<Zedのインストールディレクトリ>/lib/libssl.so*
rm /<Zedのインストールディレクトリ>/lib/libcrypto.so*


これにより、Zedはシステムのlibsslとlibcryptoライブラリにフォールバックすることができる。