NixOS安装特定的NodeJS版本

时间:2016-07-18 12:17:33

标签: node.js nixos nixpkgs

我可以看到NixOS可以安装这些版本:

...
nodejs-0.10-statsd-0.7.2
nodejs-0.10.42
nodejs-4.3.1
nodejs-5.9.0
...

但systemPackages并不喜欢我安装nodejs-5.9.0,因为它抱怨:

error: syntax error, unexpected INT, expecting ID or OR_KW or DOLLAR_CURLY or '"', at /etc/nixos/configuration.nix:49:14
(use ‘--show-trace’ to show detailed location information)
error: syntax error, unexpected INT, expecting ID or OR_KW or DOLLAR_CURLY or '"', at /etc/nixos/configuration.nix:49:14
(use ‘--show-trace’ to show detailed location information)
building the system configuration...
error: syntax error, unexpected INT, expecting ID or OR_KW or DOLLAR_CURLY or '"', at /etc/nixos/configuration.nix:49:14
(use ‘--show-trace’ to show detailed location information)

这告诉我,我做错了什么。我不只是安装nix-env -i ...,因为我想在整个系统范围内安装(并且我正在为我的所有开发机器构建标准的NixOS配置)。

根据nixpkgs repository v6可用,但我不知道如何通过configuration.nix告知nixos-rebuild或者如何安装它。

如何正确配置,以便我可以安装最新版本的NodeJS或5.9.0?

1 个答案:

答案 0 :(得分:6)

原来有可能但是我使用了错误的包名。如果使用nix-env -qaP | grep nodejs进行查询,则会从其命名空间中获取名称:

$ nix-env -qaP | grep nodejs
nixos.statsd                                                          nodejs-0.10-statsd-0.7.2
nixos.nodejs-0_10                                                     nodejs-0.10.42
nixos.nodejs                                                          nodejs-4.3.1
*nixos.nodejs-5_x                                                      nodejs-5.9.0*
nixos.azure-cli                                                       nodejs-azure-cli-0.9.15
nixos.dnschain                                                        nodejs-dnschain-0.5.3
nixos.groovebasin                                                     nodejs-groovebasin-1.5.1
nixos.keybase                                                         nodejs-keybase-0.8.25
nixos.npm2nix                                                         nodejs-npm2nix-5.12.0
nixos.pumpio                                                          nodejs-pump.io-git-2015-11-09
nixos.ripple-rest                                                     nodejs-ripple-rest-1.7.0-rc1
nixos.shout                                                           nodejs-shout-0.51.1
nixos.sloc                                                            nodejs-sloc-0.1.9
nixos.wring                                                           nodejs-wring-1.0.0

我特别想要nodejs-5.9.0,这意味着我需要使用上面描述的nodejs-5_x包(强调我的)。