[stack exec在纯nix中使用http-client / http-client-tls时失败

问题描述 投票:1回答:1

我正在使用nixstackhttp-client-tls从Haskell中的HTTPS获取/发布数据。

问题是,stack exec project-exec失败:

项目-exe:安全性:createProcess:runInteractiveProcess:exec:不存在(不存在此类文件或目录)

但是,如果我在stack.yaml中为nix设置pure: false,它可以正常工作。

所以我在nix env中丢失了什么吗?我该如何解决?


main.hs:

{-# LANGUAGE OverloadedStrings #-}
--
module Main where
--
import qualified Data.ByteString.Lazy as B
--
import Network.HTTP.Client
import Network.HTTP.Client.TLS
--
url = "https://www.google.com.tw/search?q=test"
--
main :: IO ()
main = do
    mgt <- newManager tlsManagerSettings
    request <- parseRequest url
    res <- httpLbs request mgt :: IO (Response B.ByteString)
    print res

stack.yaml:

resolver: lts-14.11

packages:
- .

nix:
  enable: true
  pure: true
  # shell-file: shell.nix
  # packages: [ ]
haskell haskell-stack nix
1个回答
0
投票

[pure: true表示排除在'现有'外壳中定义的可执行文件。

所以看起来您可能只需要显式定义您依赖的包。

© www.soinside.com 2019 - 2024. All rights reserved.