【问题标题】:What nix channel is subscribed to by default默认订阅的 nix 频道
【发布时间】:2018-05-31 03:09:44
【问题描述】:

几周前我在我的机器(macOS 10.12.6 Sierra)上安装了 nix 包管理器。

我想更新 mylocal nixpkgs 集合,使其与频道中的任何上游更新同步。我的理解是,这可以通过运行:nix-channel --update 来实现。但是,当我运行它时,我得到以下输出:

unpacking channels... created 0 symlinks in user environment

建议在我的系统订阅的频道中没有更新任何表达式。如果我运行nix-channel --list,我没有看到列出的任何频道。我的系统默认订阅的是哪个频道?我应该期望它被列出吗?

是不是一般nix-channel --update在我修改了我订阅的频道或者我订阅了不稳定的频道时才会产生本地变化?

【问题讨论】:

    标签: nix nixos


    【解决方案1】:

    以下可能是 OSX 特有的:

    Nix 频道是按用户管理的 (source)。 nix-channel --list 的输出为空,因为默认情况下您没有订阅任何频道 - 只有 root 订阅了 nixpkgs-unstable (source)。

    您可以以 root 身份运行 nix-channel --list 来查看他的订阅。但是

    1. 不要通过sudo 运行它(参见:https://github.com/NixOS/nix/issues/1548)和
    2. 不要使用简单的sudo su,因为它不会加载 /etc/profile (source),因此不会设置 nix 环境变量 (variables-setup)。

    工作示例:

        user$ nix-channel --list
    
        user$ sudo su -
        root# nix-channel --list
        nixpkgs https://nixos.org/channels/nixpkgs-unstable
    

    【讨论】:

      【解决方案2】:

      您的nix-channel --update 建议您的频道列表中的频道为零,而不是零套餐。您可以使用nix-channel --list 查看您的频道配置。您可能需要配置一个频道。

      Nix 安装脚本当前配置一个名称为 nixpkgs 的单个通道:

      "$nix/bin/nix-channel" --add https://nixos.org/channels/nixpkgs-unstable
      

      所以这是默认频道,安装后应该在nix-channel --list中列出,直到你nix-channel --remove nixpkgsrm ~/.nix-channels

      nix-channel 命令仅更新您的 Nix 表达式。它不会更新任何软件包安装。它只会影响将来对nix-buildnix-env 和其他所有使用$NIX_PATH 的调用。 (在这方面它类似于apt-get update,或brew update,除了nix-channel 不会更新已安装的Nix 版本。)

      【讨论】:

      • 谢谢罗伯特,我认为我的术语有点偏离 - 我将“包”一词与“表达式”互换使用。我已经相应地更新了我的帖子。 nix-channel --list 没有为我列出任何频道。这是否表明我的系统上配置错误?自安装以来,我没有添加/删除任何频道。当nix-channel --update 报告created 0 symlinks in user environment 时,这是否意味着上游更新了零表达式? (这不是我对不稳定通道的期望——考虑到它是为连续构建而设置的)。
      • created 0 symlinks in user environment 消息表明它已经为您的~/.nix-defexpr/channels 构建了一个空环境。这是有道理的,因为您的配置 (nix-channel --list) 是空的。我建议运行nix-channel --add https://nixos.org/channels/nixpkgs-unstable 来修复您的配置。
      • 谢谢罗伯特,这一切都说得通。一如既往,非常感谢您的帮助:)
      猜你喜欢
      • 1970-01-01
      • 2015-10-14
      • 2018-09-03
      • 1970-01-01
      • 1970-01-01
      • 2011-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多