为什么 curl(由自制软件启动)在 .nix-profile 中查找?

Why is curl (launched by homebrew) looking in .nix-profile?

前一段时间我安装了 nix 但我已经删除了它,但是现在当我尝试安装 threadscope 时出现以下错误:

Henriks-MBP:trial henke$ brew install homebrew/gui/Threadscope
==> Installing threadscope from homebrew/gui
==> Installing dependencies for homebrew/gui/threadscope: libpng, freetype, fontconfig, pixman, gettext, libffi, glib, cairo, ghc, jpeg, libtiff, gobject-introspection, gdk-p
==> Installing homebrew/gui/threadscope dependency: libpng
    ==> Downloading https://homebrew.bintray.com/bottles/libpng-1.6.21.el_capitan.bottle.tar.gz

    curl: (77) SSL: can't load CA certificate file /Users/henke/.nix-profile/etc/ssl/certs/ca-bundle.crt
    Error: Failed to download resource "libpng"
    Download failed: https://homebrew.bintray.com/bottles/libpng-1.6.21.el_capitan.bottle.tar.gz
    Warning: Bottle installation failed: building from source.
    ==> Downloading ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng16/libpng-1.6.21.tar.xz

    curl: (19) Given file does not exist
    Trying a mirror...
    ==> Downloading https://dl.bintray.com/homebrew/mirror/libpng-1.6.21.tar.xz

    curl: (77) SSL: can't load CA certificate file /Users/henke/.nix-profile/etc/ssl/certs/ca-bundle.crt
    Error: Failed to download resource "libpng"
    Download failed: https://dl.bintray.com/homebrew/mirror/libpng-1.6.21.tar.xz

现在为什么自制程序试图在 .nix-profile 中找到东西,我可以做些什么来安装 threadscopes 依赖项?

这不是专门查看 .nix-profile 目录的自制软件。这是 nix 安装的片段。

当您安装 nix 时,它安装了自己的 CA 证书。检查 SSL_CERT_FILE 的值。就我而言:

$ echo $SSL_CERT_FILE
/Users/my-user/.nix-profile/etc/ssl/certs/ca-bundle.crt

我在尝试将 curlhttps 一起使用时遇到了此证书的问题,这正是自制软件所做的。

我假设您最近刚刚删除了 nix,并且仍然在您的 shell 中设置了该变量。如果您只是关闭任何当前打开的 shell 并打开全新的,这应该是固定的。

您也可以在任何打开的 shell 中尝试 unset SSL_CERT_FILE,而不是全部关闭/打开它们。