如何安装名称包含@的Nix nodePackages包?
如何在Nix中安装名称含@的Node.js包?
当包名包含@或/这类特殊字符时,Nix的点式属性访问语法会失效——这些字符属于Nix表达式的语法符号,直接使用会触发解析错误。
解决方法是用字符串索引的方式访问该包,把完整的包名用双引号包裹起来:
{ config, pkgs, lib, osConfig, ... }: { # ... 其他配置内容 ... home.stateVersion = "23.05"; home.packages = [ pkgs.nodejs pkgs.typescript pkgs.nodePackages.gitmoji-cli pkgs.nodePackages."@withgraphite/graphite-cli" ]; }
这种字符串索引方式适用于所有包含特殊字符(比如@、/、空格、连字符等)的Nix属性,能让解析器正确识别属性名,避免语法错误。
内容的提问来源于stack exchange,提问作者Ryu S.
相关产品推荐
相关产品推荐

