Mir*_*lov 22 package-management nixos nix
我在NixOS上使用Nix 包管理器。假设我想安装一个提供文件的包。我如何找到提供此文件的包,类似于其他 GNU/Linux 发行版?libgtk-x11-2.0.so.0
目前我必须谷歌该文件并找出它可能属于哪个包并在 Nix 存储库中找到相应的包,但我想要一个更惯用的方法。
小智 17
nix-index正是您所需要的。
安装和构建索引:
nix-env -iA nixos.nix-index
nix-index
Run Code Online (Sandbox Code Playgroud)
定位libgtk-x11-2.0.so.0
:
nix-locate -w libgtk-x11-2.0.so.0
Run Code Online (Sandbox Code Playgroud)
输出:
(zed.out) 0 s /nix/store/bc4mngklj2j7hmm21jra4641x4pm9r8z-node-webkit-env/lib/libgtk-x11-2.0.so.0
(thrust.out) 0 s /nix/store/wzg0k4i2cy0qsm3hwxlywxxbga019hbq-env-thrust/lib/libgtk-x11-2.0.so.0
(nwjs_0_12.out) 0 s /nix/store/js6klvzjfi5q4djmwb0bqzfb4x0vzm6g-nwjs-env/lib/libgtk-x11-2.0.so.0
(node_webkit_0_11.out) 0 s /nix/store/30vm6a7bmc56ckl575rqassw60ccxjpg-node-webkit-env/lib/libgtk-x11-2.0.so.0
(mumble_overlay.out) 0 s /nix/store/wayx023w1nslqg2z0c5v4n0b4jxn5n06-gtk+-2.24.31/lib/libgtk-x11-2.0.so.0
gnome2.gtk.out 0 s /nix/store/3iqchhncghm5s458lzy99c3prfymrnp2-gtk+-2.24.31/lib/libgtk-x11-2.0.so.0
Run Code Online (Sandbox Code Playgroud)
最后一行表示gtk+-2.24.31
具有属性路径的包gnome2.gtk
包含此文件。
查看文档,似乎没有一种简单的方法可以做到这一点。
使用基于 yum 的发行版,您可以执行yum provides $file
此操作,在 apt-get 发行版中,您可以安装 apt-file 并执行此操作,apt-file $file
但我在nix-env -q
.