2014-03-31 85 views
4

爲了方便(更快的構建週期,自動更新)和從GitHub克隆的Rust的開發版本用於實驗目的,是否可以每晚構建Rust編譯器?是否可以有多個共存的鏽裝置?

這個想法是我有一個Rust的二進制版本,用於我的各種項目和我可以破解的Rust版本,而不會造成彼此之間的混亂。

如果重要,假設我的操作系統是Ubuntu 64位。

回答

5

目前的解決方案是使用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 
2

當然。在開發版本中,可以使用--prefix選項./configure,例如--prefix=~/opt/rust-dev,然後其安裝的文件將完全包含在該目錄中。

+0

好吧,但有'make install'不會導致兩個Rust編譯器跳到對方頸?另外,如果測試可能會在可能較舊的'rustc'存在的情況下如何工作?如何在'rust-dev'上運行防鏽測試套件? –

+2

@DanielFath,'--prefix'腳本定義了一個目錄,其中由構建過程生成的所有文件(我的意思是構成隨時可用的編譯器的所有文件)將會去。系統中沒有其他更改將會被執行。你甚至不應該爲'make install'使用sudo。然後你必須添加相應的'bin'目錄到'PATH'環境變量來直接調用'rustc',例如'export PATH =「〜/ opt/rust-dev:$ PATH」'。然後在這個特定的shell中,您將使用編譯器的開發版本。 –

0

你也不需要安裝你的開發版本。你可以在你的$ PATH中的某個地方創建符號鏈接到位於源代碼樹/ build目錄內的rustc二進制文件,編譯器會找到它的動態鏈接依賴關係,並且它會發出知道該路徑的二進制文件(如果連動態鏈接)。

0

嘗試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 
0

嘗試配置您的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版本。

相關問題