2017-06-03 105 views
1

更改ghci的版本:上我已經堆疊安裝在我的電腦上Haskell的堆棧

Developers-MacBook-Pro:~ developer$ stack ghci 
Configuring GHCi with the following packages: 
GHCi, version 8.0.1: http://www.haskell.org/ghc/ :? for help 
Loaded GHCi configuration from /private/var/folders/2x/t_2cl03x2092dkzvc702d7lc0000gn/T/ghci2170/ghci-script 
Prelude> 

正如你所看到的版本仍然是8.0.1。再次

Developers-MacBook-Pro:~ developer$ stack upgrade 
Current Stack version: 1.3.2, available download version: 1.4.0 
Newer version detected, downloading 
Querying for archive location for platform: osx-x86_64-static 
Querying for archive location for platform: osx-x86_64 
Downloading from: https://github.com/commercialhaskell/stack/releases/download/v1.4.0/stack-1.4.0-osx-x86_64.tar.gz 
Download complete, testing executable 
Version 1.4.0, Git revision e714f1dd3fade19496d91bd6a017e435a96a6bcd (4640 commits) x86_64 hpack-0.17.0 
New stack executable available at /Users/developer/.local/bin/stack 

我開始stack ghci後,我已經得到了還是8.0.1版,我在做什麼錯了:那我升級堆棧如下?

的形象示人,這ghci 8.0.2版已成功安裝:
enter image description here

的路徑是/Users/developer/.stack/programs/x86_64-osx/

更新 在路徑/Users/developer/.stack/,有一個叫global-project和我的文件夾改變yaml如下:

enter image description here

現在堆棧ghci的在8.0.2版本上運行:

Developers-MBP:~ developer$ stack ghci 
Configuring GHCi with the following packages: 
GHCi, version 8.0.2: http://www.haskell.org/ghc/ :? for help 
Loaded GHCi configuration from /private/var/folders/2x/t_2cl03x2092dkzvc702d7lc0000gn/T/ghci526/ghci-script 
+1

要切換到最新的LTS快照(目前使用GHC-8.0.2),您可以運行'stack config set resolver lts'。 – sjakobi

回答

0

stack是一個構建工具,協調建設項目與不同版本的GHC和套依賴。所以你可以獨立於ghc來升級stack

我不太確定stack ghci在項目目錄之外運行時的預期行爲。推測你可以配置默認版本ghc在這種情況下在你的~/.stack/config.yaml。請參閱:http://docs.haskellstack.org/en/stable/yaml_configuration/

你也應該能夠做到:

$ stack ghci --with-ghc ghc-7.10.3 

但通常GHC的版本是由您已配置爲您的項目stackage快照來確定,例如,如果你有一個stack.yaml與:

resolver: lts-3.3 

...你將使用GHC-7.10.3

+0

當我想在沒有項目的情況下啓動'stack ghci'我想使用8.0.2版本而不是8.0.1,我該如何切換版本? –

0

https://docs.haskellstack.org/en/stable/faq/#what-version-of-ghc-is-used-when-i-run-something-like-stack-ghci

GHC的版本以及可以安裝哪些軟件包由解析器指定。

因此,要執行stack ghci外面堆項目時更改版本GHC的使用,做到:

  1. 查找現有的解析器在~/.stack/build-plan,例如lts-10.4,或下載您需要的新解析器;

  2. stack config set resolver lts-10.4

然後,stack ghci外堆棧項目將使用GHC 8.2.2,這是通過旋轉變壓器lts-10.4(這種關係可以在https://www.stackage.org或在文件lts-10.4.yaml可以找到)中指定的GHC版本。