cargo diesel_cli 설치 에러
2023. 6. 22. 23:53ㆍLanguage/Rust
개요
Rust의 ORM 중 가장 유명한 diesel을 사용하고 싶어 테스트 중이 였다. DB는 Postgres며, 튜토리얼을 따라 하는데 정상적으로 diesel_cli가 설치 되지 않아 정리하려 한다.
Diesel 설치
[dependencies]
diesel = { version = "2.0.4", features = ["postgres"] }
$ cargo install diesel_cli --no-default-features --features postgres
...
...
b" "-o" "/tmp/cargo-installtmxLrL/release/deps/diesel-51c0e09b49673ddd" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-nodefaultlibs"
= note: /usr/bin/ld: cannot find -lpq: No such file or directory
collect2: error: ld returned 1 exit status
error: could not compile `diesel_cli` (bin "diesel") due to previous error
error: failed to compile `diesel_cli v2.1.0`, intermediate artifacts can be found at `/tmp/cargo-installtmxLrL`
해결책
인터넷을 찾아보니 libpq-dev라는 라이브러리가 제 OS에 설치되어 있지 않아 생긴 문제점이라고 합니다.
저는Linux Mint 21 Vanessa 를 사용 중입니다.
$ sudo apt install libpq-dev
$ cargo install diesel_cli --no-default-features --features postgres
....
Finished release [optimized] target(s) in 1m 01s
Installing /home/bak/.cargo/bin/diesel
Installed package `diesel_cli v2.1.0` (executable `diesel`)
오.. 설치가 잘 됐네요..
참고로 Centos7는 아래와 같은 라이브러리를 설치해야 합니다.
sudo yum install postgresql-devel
이제 정상적으로 구동 되는 지 확인해 보겠습니다.
$ diesel setup
Creating migrations directory at: /home/bak/Temp/rust/diesel_demo/migrations
The --database-url argument must be passed, or the DATABASE_URL environment variable must be set.
보시면 migrations 폴더도 생겼고, diesel.toml도 생긴것을 확인 할 수 있습니다.
'Language > Rust' 카테고리의 다른 글
Rust 문자열 (0) | 2023.06.24 |
---|---|
환경변수 파일 읽기 (0) | 2023.06.21 |
Rust 명령줄의 인수 받기 (0) | 2023.06.18 |
Rust의 HashMap 소개 (1) | 2023.06.15 |
Rust Shuffle (0) | 2023.06.11 |