首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在NixOS/Nix中安装防火墙工具( npm包)的正确方法是什么?

在NixOS/Nix中安装防火墙工具( npm包)的正确方法是什么?
EN

Stack Overflow用户
提问于 2022-07-28 15:46:58
回答 1查看 510关注 0票数 1

我正在看这个火基上的乌德米课程。这门课程有点过时,最初可能是6年前制作的。

在某个时候,作者指出了如何使用firebase CLI,因此他指出了以下命令:

代码语言:javascript
复制
~/projects/chatlive]$ npm install -g firebase-tools

我添加了sudo以避免权限问题:

代码语言:javascript
复制
~/projects/chatlive]$ sudo npm install -g firebase-tools

不幸的是,检索到了此错误消息:

代码语言:javascript
复制
npm WARN checkPermissions Missing write access to /nix/store/nm7vm9d7xbvibazz7kl7xkqgjddqgiby-nodejs-14.18.3/lib/node_modules
npm ERR! code EROFS
npm ERR! syscall access
npm ERR! path /nix/store/nm7vm9d7xbvibazz7kl7xkqgjddqgiby-nodejs-14.18.3/lib/node_modules
npm ERR! errno -30
npm ERR! rofs EROFS: read-only file system, access '/nix/store/nm7vm9d7xbvibazz7kl7xkqgjddqgiby-nodejs-14.18.3/lib/node_modules'
npm ERR! rofs Often virtualized file systems, or other file systems
npm ERR! rofs that don't support symlinks, give this error.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2022-07-28T15_33_55_544Z-debug.log

我使用的是NixOS,这是我的配置文件,因为错误消息提到了我认为可能相关的nix/store

通常,我在NixOS中安装东西,更改configuration.nix并执行sudo nixos-rebuild switch。但我认为,考虑到npm正在管理安装,而不是是有必要这样做的。

在Nix包上搜索,我可以看到firebase-tools链接。现在,似乎调整配置文件的方式是.

在这种情况下,最佳实践是什么?

我应该强制尝试通过npm安装(如何安装?)我应该仅仅因为这个软件包而选择新一代的NixOS和一个完整的系统重建吗?

还有其他可能的路吗?我是不是遗漏了什么?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-05 21:14:58

如果您只想在开发环境中使用firebase-tools,请在您的工作目录中创建一个shell.nix文件,并添加以下行:

代码语言:javascript
复制
{ pkgs ? import <nixpkgs> {}}:

pkgs.mkShell {
  nativeBuildInputs = [ pkgs.nodePackages.firebase-tools ];
}

然后运行nix-shell以启动包含firebase-tools的shell。对于本地开发环境,这被认为是最佳实践,参见nix-壳

如果您想试用不是nixpkgs repo中的包,您应该使用npm并在本地安装一个包(没有-g )。见失败

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73155646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档