0

警告:如果您想在 Nix/NixOS 中使用无服务器框架,这不是这样做的方法:您最终得到的包已经过时,并且(如下所述)它可能无论如何都无法工作。请参阅NixOS Discourse 上的主题

想通过无服务器尝试,nix-shell所以我查了一下,运行了命令

nix-shell -v -p nodePackages.serverless

a̶n̶d̶i̶t̶w̶o̶r̶k̶s̶f̶l̶a̶w̶l̶e̶s̶s̶l̶y̶。1

是什么让这成为可能,而不需要我手动安装 Node 才能运行npm install -g serverless(例如,该node_modules文件夹是否在 Nix 商店中的某个位置?如果我使用nix-shell另一个 Node 包会发生什么——它们会共享同一个目录吗?)


[1]:它没有……见这个 Reddit 线程;可能setuid的问题。尽管如此,仍然对幕后的东西感兴趣。

这个问题更像是一个待办事项,因为我真的很想自己弄清楚,但现在没有时间......

4

1 回答 1

1

这是可能的,因为它是用node2nix. 这个工具生成表达式,获取各种包并将它们放在一个node_modules目录中。事实上,它并不完美,一些包需要一些额外的修复才能使它们正常工作。该node2nix工具可以从cabal2nixNixpkgs 中的集成中“学习”,以提高打包质量和 Nixpkgs 开发人员体验。

于 2021-10-14T12:51:46.480 回答