2023-06-12 13:00:59 +00:00
|
|
|
# Building Zed
|
2023-05-19 15:02:18 +00:00
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
## Dependencies
|
2024-01-17 18:20:27 +00:00
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
- Install [Rust](https://www.rust-lang.org/tools/install)
|
|
|
|
- Install [Xcode](https://apps.apple.com/us/app/xcode/id497799835?mt=12) from the macOS App Store
|
2023-12-12 00:17:13 +00:00
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
- Install [Xcode command line tools](https://developer.apple.com/xcode/resources/)
|
2023-05-19 15:02:18 +00:00
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
```bash
|
|
|
|
xcode-select --install
|
|
|
|
```
|
2024-01-17 18:09:13 +00:00
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
- Ensure that the Xcode command line tools are using your newly installed copy of Xcode:
|
2023-07-12 18:09:21 +00:00
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
```
|
|
|
|
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer.
|
|
|
|
```
|
2024-01-17 18:09:13 +00:00
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
* Install the Rust wasm toolchain:
|
2024-01-17 18:09:13 +00:00
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
```bash
|
|
|
|
rustup target add wasm32-wasi
|
|
|
|
```
|
2024-01-17 18:09:13 +00:00
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
## Backend Dependencies
|
2024-01-17 18:09:13 +00:00
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
If you are developing collaborative features of Zed, you'll need to install the dependencies of zed's `collab` server:
|
2024-01-17 18:09:13 +00:00
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
- Install [Postgres](https://postgresapp.com)
|
|
|
|
- Install [Livekit](https://formulae.brew.sh/formula/livekit) and [Foreman](https://formulae.brew.sh/formula/foreman)
|
2024-01-17 18:09:13 +00:00
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
```bash
|
|
|
|
brew install livekit foreman
|
|
|
|
```
|
2024-01-17 18:09:13 +00:00
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
## Building Zed from Source
|
2023-07-12 18:09:21 +00:00
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
Once you have the dependencies installed, you can build Zed using [Cargo](https://doc.rust-lang.org/cargo/).
|
2023-05-19 15:02:18 +00:00
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
For a debug build:
|
2024-01-17 18:09:13 +00:00
|
|
|
|
|
|
|
```
|
2024-01-17 21:24:55 +00:00
|
|
|
cargo run
|
2024-01-17 18:09:13 +00:00
|
|
|
```
|
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
For a release build:
|
2024-01-17 18:20:27 +00:00
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
```
|
|
|
|
cargo run --release
|
2024-01-17 18:20:27 +00:00
|
|
|
```
|
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
And to run the tests:
|
2024-01-17 18:20:27 +00:00
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
```
|
|
|
|
cargo test --workspace
|
|
|
|
```
|
2023-05-19 15:02:18 +00:00
|
|
|
|
|
|
|
## Troubleshooting
|
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
### Error compiling metal shaders
|
2024-01-17 18:09:13 +00:00
|
|
|
|
2024-01-17 18:20:27 +00:00
|
|
|
```
|
2024-01-17 21:24:55 +00:00
|
|
|
error: failed to run custom build command for gpui v0.1.0 (/Users/path/to/zed)`**
|
2024-01-17 18:20:27 +00:00
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
xcrun: error: unable to find utility "metal", not a developer tool or in PATH
|
2023-05-19 15:02:18 +00:00
|
|
|
```
|
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
Try `xcode-select --switch /Applications/Xcode.app/Contents/Developer`
|
2023-05-19 15:02:18 +00:00
|
|
|
|
2024-01-17 21:24:55 +00:00
|
|
|
### Cargo errors claiming that a dependency is using unstable features
|
2023-05-19 15:02:18 +00:00
|
|
|
|
2024-01-17 18:09:13 +00:00
|
|
|
Try `cargo clean` and `cargo build`,
|