Deno編譯踩坑記(Mac環境)

前言

最近入坑Deno,第一步肯定是從編譯開始,然後踩坑了,記錄一下~

常規編譯:

1.安裝rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

2.安裝Xcode打開,同意一下各種不平等條款,再打開運行一下,並切換到當前的Xcode版本。

命令如下:

sudo xcode-select -s /Applications/Xcode.app

3.克隆倉庫:

注意:這裏必須使用–recurse-submodules參數,原因是deno將多個倉庫作爲了子模塊進行開發,包括deno_std和third_party等等。

git clone --recurse-submodules https://github.com/denoland/deno.git

git clone小竅門:

用colab把代碼clone到Google Drive,然後下載回本地,速度快到不敢相信(就算魔法上網,下載也太慢,用colab下載試試)
再從Google drive下載回本地

1+Gb代碼,強力推薦使用這種方法

4.在deno源碼目錄下執行編譯命令:

cargo build -vv

編譯錯誤解決

1.卡在進度條不動

原因:編譯需要用到魔法上網,但Mac終端默認不走代理

環境初始化需要安裝編譯 v8 的依賴

使得終端通過vpn聯網(想知道更多方法就手動Google)

export http_proxy=http://proxyAddress:port

例如用SS,輸入:

export ALL_PROXY=socks5://127.0.0.1:1086

然後輸入:

curl -i https://www.google.com

進行測試觀察當前終端是否成功使用SS

然後重新執行編譯命令:

cargo build -vv

2.Xcode找不到路徑的錯誤:

__main__.SdkError: 'Install Xcode, launch it, accept the license agreement, and run `sudo xcode-select -s /path/to/Xcode.app` to continue.'

原因:找不到Xcode路徑

找到你的Xcode路徑,然後執行

sudo xcode-select -s /路徑/Xcode.app

例如我的Xcode在/Applications,所以執行

sudo xcode-select -s /Applications/Xcode.app

然後重新執行編譯命令:

cargo build -vv

3.構建失敗

重新執行編譯命令試試:

cargo build -vv

4.could not compile deno_typescript

原因:deno裏面typescript文件缺失,因爲clone的時候沒有把Deno第三方依賴下載

解決:

下載typescript源碼放到/Users/benny/Coding/deno_develop/deno-master/deno_typescript

5.<urlopen error [Errno 61] Connection refused>

解決更換代理服務器

剩下的事情:靜候編譯~

編譯成功

測試:

# Run:
./target/debug/deno tests/002_hello.ts

發佈了34 篇原創文章 · 獲贊 6 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章