【问题标题】:Compile node projects without using sudo不使用 sudo 编译节点项目
【发布时间】:2011-05-29 03:03:19
【问题描述】:

我觉得这更像是一个 unix 问题,但我希望编译 node 项目而不每次都使用 sudo 命令。

例子:

$ node server.js

导致以下错误:

node.js:63
    throw e;
    ^
Error: EACCES, Permission denied
....

有没有办法永久授予节点 root 访问权限?

谢谢! 马特

【问题讨论】:

  • server.js 文件存放在哪里?文件及其包含目录的权限是什么?结果需要去哪里?为什么它仅限于 root(可能有充分的理由,但更有可能是不好的)?确保您可以在进行“编译”的目录中写入;如果你不能,将材料复制到你可以写的地方。您可能仍然需要 root 权限来安装结果 - 但这取决于许多政策决定(代码去哪里,谁必须拥有它等)。如果你最终拥有一切,会有什么影响?
  • 哦,好吧——乔纳森说的很好。我会让文件夹可读可写 - 谢谢!
  • FWIW:node v0.2.5 源代码基于 MacOS X 10.6.5 构建,系统提供 GCC (4.1.2),但不支持 GCC 4.5.2。我选择使用“./configure --prefix=$HOME/Software/node”将软件安装在 $HOME/Software/node 中(因此,如果它要继续存在,我必须将 $HOME/Software/node/bin 添加到我的 PATH 中,或者添加一个$HOME/Software/node/bin/node 的符号链接到我的 PATH 中已经存在的目录)。没有使用 root 权限。另一个奇怪的是:您编译了 server.js,但错误消息提到了 node.js - 这正常吗?

标签: unix permissions node.js


【解决方案1】:

Root 拥有永久的 root 访问权限,所以只需成为 root。

$ sudo su

或者:

【讨论】:

  • 这是否意味着我每次打开终端时都必须这样做?我正在寻找一个系统范围的解决方案。
  • 否:不要以 root 身份执行任何非强制性的操作。尽可能少做root!
猜你喜欢
  • 2016-07-02
  • 1970-01-01
  • 1970-01-01
  • 2017-08-26
  • 2018-02-14
  • 1970-01-01
  • 1970-01-01
  • 2015-09-10
  • 2012-09-25
相关资源
最近更新 更多