インストール - Zed
概要
Zedは、人間やAIとの高性能なコラボレーションを実現するために設計された次世代コードエディタである。
Atomエディタの共同創設者であるNathan Sobo氏らによって開発されており、複数のCPUコアとGPUを効率的に活用するために、Rustで記述されている。
Zedの主な特徴として、高速性と軽量性が挙げられる。
エディタのコア部分はRustで記述されており、パフォーマンスを重視して設計されている。
また、モダンなユーザインターフェースを採用しており、使いやすさも追求している。
Zedは協調作業に焦点を当てており、リアルタイムでの共同編集機能を備えている。
これにより、複数の開発者が同時に同じコードベースで作業することが可能になる。
AIアシスタント機能も統合されており、コーディング中に支援を受けられるようになっており、コードの補完・提案、エラーの検出等に便利である。
今後リリースされるLLMをワークフローに統合して、コードの生成、変換、解析を行うこともできる。
- Zedの公式Webサイト
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_PRIME
を1
を設定することにより変更できる。
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ライブラリにフォールバックすることができる。