我将 nixos 频道更改为不稳定,为什么我的软件包仍未更新?

mhe*_*rzl 1 nixos nix

如何将我的套餐从一个nixos-18.09频道更新到另一个nixos-unstable频道?我正在尝试执行此操作,因为我需要使用某些软件包的更新版本。

按照nixos 手册中的说明,我添加了nixos-unstable通道https://nixos.org/channels/nixos-unstable,删除了nixos-18.09通道https://nixos.org/channels/nixos-18.09,然后运行$ nix-channel --update​​和$ sudo nixos-rebuild switch --upgrade

然而,我安装的软件包仍然是旧版本。我也试过了$ nix-env -u '*',仍然有旧版本。我还需要做什么才能将我的软件包更新到nixos-unstable版本?

Chr*_*ski 6

我正在尝试执行此操作,因为我需要使用某些软件包的更新版本。

您可以使用来自不同渠道的包。因此,保持默认通道稳定,并且仅引用不稳定通道中的特定包可能是更好的解决方案。

我的配置中有以下导入(使用google-chrome我分配给的频道unstable):

{ config, pkgs, ... }:


let
  unstable = import <unstable> {
    config = config.nixpkgs.config; 
  };
in
{
   environment.systemPackages = with pkgs; [
     awscli
     google-cloud-sdk
     kubectl
     libreoffice
     # ...
     unstable.google-chrome
   ];
}
Run Code Online (Sandbox Code Playgroud)

至于为什么你的包没有使用不稳定的通道,可能是因为它们引用了nixos你似乎没有修改的通道(你似乎只添加了一个名为 的通道nixos-unstable,但很可能没有任何东西引用这个通道名称)。