簡體   English   中英

Intero:無法為Lib加載界面

[英]Intero : Failed to load interface for Lib

我正在嘗試為我的Haskell項目設置我的Haskero(使用Intero的Visual Studio代碼擴展),但是我收到以下錯誤:

app\Main.hs:3:1: error:
   Failed to load interface for `Lib'
   Use -v to see a list of the files searched for.

重現步驟:

stack new project
cd project
stack build intero
stack exec intero
> :l app/Main.hs

app / Main.hs:

module Main where

import Lib

main :: IO ()
main = someFunc

src / Lib.hs:

module Lib
   ( someFunc
   ) where

someFunc :: IO ()
someFunc = putStrLn "someFunc"

我在Visual Studio Code中遇到了類似的問題。

在引擎蓋下Haskero正確使用:

stack ghci --with-ghc intero --no-build --no-load

但是Haskero假定堆棧項目是加載到VSCode的工作目錄。 如果堆棧項目是其中一個子目錄,則IDE中會出現相同的錯誤,因為堆棧命令是從該主目錄運行的。 至少這是目前Haskero 1.3.1所發生的事情。

解決方案是始終確保堆棧項目等於VSCode中的工作目錄。

我沒有Haskero的經驗,但可以在Linux機器上使用普通的舊Intero安裝來復制問題。

問題是您通過stack exec而不是stack ghci調用Intero后端。 如果你嘗試使用stack exec ghci而不是stack ghci來調用通常的GHC交互式會話,你會發現同樣的問題(有關更多信息,請參閱stack ghci文檔 )。

而不是stack exec intero ,嘗試:

stack ghci --with-ghc intero --no-build --no-load

它應該工作正常。

(請注意,如果您首先stack build項目, stack exec intero實際上可以正常工作,但仍然應該通過stack ghci調用交互式會話。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM