爲了方便(更快的構建週期,自動更新)和從GitHub克隆的Rust的開發版本用於實驗目的,是否可以每晚構建Rust編譯器?是否可以有多個共存的鏽裝置?
這個想法是我有一個Rust的二進制版本,用於我的各種項目和我可以破解的Rust版本,而不會造成彼此之間的混亂。
如果重要,假設我的操作系統是Ubuntu 64位。
爲了方便(更快的構建週期,自動更新)和從GitHub克隆的Rust的開發版本用於實驗目的,是否可以每晚構建Rust編譯器?是否可以有多個共存的鏽裝置?
這個想法是我有一個Rust的二進制版本,用於我的各種項目和我可以破解的Rust版本,而不會造成彼此之間的混亂。
如果重要,假設我的操作系統是Ubuntu 64位。
目前的解決方案是使用rustup。安裝後,可以安裝多個工具鏈:
rustup install nightly
rustup install stable
rustup install 1.7
如果您有鏽跡的本地版本,您可以鏈接它作爲一個工具鏈
rustup toolchain link my-development /path/to/rust/code
你可以選擇一個默認工具鏈
rustup default stable
或添加覆蓋工具鏈對於一個特定的目錄
cd /my/cool/project
rustup override set nightly
當然。在開發版本中,可以使用--prefix
選項./configure
,例如--prefix=~/opt/rust-dev
,然後其安裝的文件將完全包含在該目錄中。
你也不需要安裝你的開發版本。你可以在你的$ PATH中的某個地方創建符號鏈接到位於源代碼樹/ build目錄內的rustc二進制文件,編譯器會找到它的動態鏈接依賴關係,並且它會發出知道該路徑的二進制文件(如果連動態鏈接)。
嘗試envirius。
它允許您創建任何版本的防鏽的環境。
它第一次下載生鏽的源代碼並編譯它。 這將需要一些時間。但是第二次和隨後的嘗試將需要10秒鐘,因爲它只會將二進制文件複製到目標環境中。
例如:
➥ nv mk --rust=0.9
Creating environment: rust-0.9 ...
* installing rust==0.9 ...
* done (in 5 secs.)
➥ nv ls
Available environment(s):
rust-0.9
➥ nv on rust-0.9
Environment rust-0.9 activated.
(rust-0.9) ➥ rustc -v
rustc 0.9
嘗試配置您的IDE。雖然我在Windows計算機上工作,但我認爲這個想法與Ubuntu相似。
首先,我已經安裝了3個版本的鏽成:
C:\防鏽\ 64測試版MSVC 1.9
C:\防鏽\ 64每晚MSVC 1.10
C:\防鏽\ 64穩定MSVC 1.8
然後我配置我的IDE(在這種情況下,IntelliJ IDEA 2016 + Rust Plug-In)根據構建選擇器使用不同版本的Rust。
之後,我可以通過從工具欄中選擇build-config來編譯我的代碼和不同的Rust版本。
好吧,但有'make install'不會導致兩個Rust編譯器跳到對方頸?另外,如果測試可能會在可能較舊的'rustc'存在的情況下如何工作?如何在'rust-dev'上運行防鏽測試套件? –
@DanielFath,'--prefix'腳本定義了一個目錄,其中由構建過程生成的所有文件(我的意思是構成隨時可用的編譯器的所有文件)將會去。系統中沒有其他更改將會被執行。你甚至不應該爲'make install'使用sudo。然後你必須添加相應的'bin'目錄到'PATH'環境變量來直接調用'rustc',例如'export PATH =「〜/ opt/rust-dev:$ PATH」'。然後在這個特定的shell中,您將使用編譯器的開發版本。 –