撐住啊別放棄在 Windows 上操作 rust ....
這些苦 ...
我知道~
我都知道~
一、前言
兄弟撐著點,別放棄!!!
本篇為記錄在 Windows 上安裝基於 Rust 的 OpenSSL。
筆者主要於 Windows 上運行 actix-web 而發生的問題,
在 package-feature 可以看到一些功能如下:
- alpn:使用到了 opsnssl,因此如果要使用這個模組,就得要安裝!!
二、安裝
Windows 平台的安裝過程較為繁瑣,本篇主要為 Windows 64bit 的環境教學。
首先到 rust-openssl,可以看到詳細又有點混亂的說明,接下來將依序說明:
1. 安裝 Win32OpenSSL
1.1 下載
首先點選 Win32OpenSSL 進入頁面,卷到下方後選擇 Win64 OpenSSL v1.1.0h (64-bit)下載。
安裝過程皆為下一步,請安心上路。
1.2 環境變數
安裝完畢後請新增環境變數,我們要分別新增「PATH」﹑「OPENSSL_DIR」的變數。
為了方便大家了解如何設定環境變數,筆者用盡苦心整合了一張「完全環境變數指南」,如下:
首先右鍵「我的電腦」-「內容」。
依序點選「進階系統設定」-選擇「進階」頁籤的「環境變數」,
在視窗中,上半部就是使用者所有的環境變數。
PATH
我們先新增 PATH 的環境變數,滾動卷軸找到「Path」後雙擊(或是點下方的編輯),
接著「新增」-瀏覽我們剛剛安裝 OpenSSL 目錄中的 bin 資料夾並確定,就完成啦。
C:\OpenSSL-Win64\bin
OPENSSL_DIR
接下來要新增的是具有變數名稱的值,
點選「新增」-輸入「變數名稱」-「OPENSSL_DIR」-接著「瀏覽目錄」,選擇後確定即可。
# 變數名稱
OPENSSL_DIR
# 變數值
C:\OpenSSL-Win64
2. 安裝憑證 Certificates
2.1 下載
點選網站 CA certificates extracted from Mozilla,然後下載 cacert.pem,
也可點選網站如下紅框處:
然後存到剛剛 OpenSSL 目錄底下的 certs 資料夾,
別問原因,別問我家鄉,官方建議,Just Do It。
C:\OpenSSL-Win64\certs
檔案名稱應該預設如下:
cacert.pem
2.2 環境變數
SSL_CERT_FILE
接著同前面步驟,設定環境變數「SSL_CERT_FILE」,
# 變數名稱
SSL_CERT_FILE
# 變數值
C:\OpenSSL-Win64\certs\cacert.pem
恭喜~以上就完成在 Rust 環境中 OpenSSL 的安裝了!!!
恭喜~以上就完成在 Rust 環境中 OpenSSL 的安裝了!!!
3. 安裝 MSYS2 installer
3.1 下載
首先到 MSYS2 installer,依照電腦位元下載:
3.1 安裝
接著就參考該網站的教學步驟,其實就是下一步到底。
安裝完畢後,如同官方教學指示,
執行軟體更新(她應該會詢問是否安裝,屆時輸入 -y 就好):
pacman -Syu
pacman -Su
更新完畢後安裝 openssl:
# 32-bit
pacman -S mingw-w64-i686-openssl
# 64-bit
pacman -S mingw-w64-x86_64-openssl
三、專案測試
筆者在自己 github 上建立了來自官方範例的專案,可以使用此進行測試。
下載專案
git clone https://github.com/explooosion/rust-actix-web-sample.git
進入專案
cd rust-actix-web-sample
編譯專案
這邊順利通過其實就可以了。(初次編譯可能約 3 分鐘)
cargo build
如果發現電腦有點當機,可以改使用:
cargo build -j 2
-
-j:調用的 cpu 執行續數量
執行專案
由於此專案是網站,可以藉此測試網站是否順利運行。
cargo run
- 可以打開網頁看看有沒有畫面,http://localhost:8080/。
- 其實有畫面就行了XD
※、結論
你放棄 Windows 了嗎?
有勘誤之處,不吝指教。ob'_'ov