Hello There!. This is my first ever blog post.
Very recently, I have started exploring Rust language and I already have so much fun learning this language.
I was trying to do some basic database CRUD implementations in Rust and as you know, most famous framework for the same is Diesel .
Since I faced lots of issues while setting up Diesel on my local machine, I thought of putting it as blog post so that, it can be of useful to someone who will face similar issues of mine.
For your information, I am using Windows 10 operating system (64-bit) and Rust v1.45.0.
In case if you have not installed Rust with Visual C++ build tools , when you're trying to install Diesel framework, you may get some errors related to Linker.exe. It is better to install latest version of Microsoft Visual C++ build tools first and then re-install Rust on your computer.
Installing Diesel framework is a 2-step process.
cargo install diesel
As of writing of this post, Diesel supports
MySQL, Postgres and SQLite. The above command expects all the client tools pre-exists on your computer.
If you have one of the client tools, you can use following command
cargo install diesel --no-default-features --features mysql postgres sqlite
In my case, i am having Postgres so, i tried with
cargo install diesel --no-default-features --features postgres
Initially, when i try the above command, I was getting following error
error: diesel = note: link : fatal error lnk1181: cannot open input file 'libpq.lib'
After spending few minutes on google, I figured out, i need to setup environment variable named
PQ_LIB_DIR mapped to
lib directory of Postgres installation folder.
In my computer, I have Postgres installed on
C:\Program Files\Postgres\12\. So, I setup
Due to spaces in the folder name,
cargo install diesel threw me error message. So, I had to correct it like
c:/Program Files/Postgres/12/lib to solve the first level of issue.
To setup Diesel, we need run following command
It throws me following error:
The code execution cannot proceed because libpq.dll was not found.
Even though, I had added
PQ_LIB_DIR environment variable, I got the above error. After a little search, I found out that,
diesel is not able to find the libpq.dll from folders listed under
PATH variable. After added
PATH variable, that error was gone.
Then, I was getting another error:
The code execution cannot proceed because libssl-1_1-x64.dll was not found.
This dll file is shipped alongwith postgres and it can be found under BIN folder. After I have added Postgres' BIN folder to
diesel setup was completed successfully.
Hope you find the above post useful. Please share your feedback in case if i miss any other points.