【问题标题】:What is the proper way of using npm in root environment?在 root 环境中使用 npm 的正确方法是什么?
【发布时间】:2022-06-24 22:06:06
【问题描述】:

我目前正在使用 AWS EC2 实例设置 Parse Server,我一直在使用 Nginx 和 Elastic IP 来管理 SSL 证书。 通过不同的指南,我已经达到了将节点应用程序放在/var/www/parse-server 的解决方案,但他们说我应该在这个目录中执行“npm init”,这显然是由 root 拥有的(当然,由于权限而失败)。

我的问题是关于在此根路径中操作应用程序文件的正确方法,特别是因为当项目继续进行时,'sudo npm init' 与包发生冲突。

  • 我应该使用“sudo su”并继续安装吗?我试图这样做,但 npm init 不被识别为命令。我还没有尝试过使用 --prefix,因为我想先确定一下。
  • 我应该使用另一个目录来保持我的应用程序工作吗?我有,但是 Nginx 和所有相关配置呢?
  • 我应该 chown -R 文件夹以获得/var/www/parse-server 文件夹的所有权吗?如果我这样做了,以后权限呢?

【问题讨论】:

  • 我不明白你为什么在服务器上运行 npm init。您很可能希望在服务器中克隆一个存储库,然后运行 ​​npm install。
  • 用Docker镜像不是更好吗?
  • @DaviMacêdo 这是一个用例,但是拉取更改呢?还有权限问题
  • @Anatoly 是的,是的,但至少现在我不是制定规则的人
  • 在您的选项中,我会使用 chown -R 将文件夹的所有者更改为您要运行应用程序的用户

标签: node.js linux npm-install parse-server npm-init


【解决方案1】:

我找到了两种解决方法:

  1. chown -R 将目录所有者更改为我自己的用户。这行得通,但我认为这不是正确的方法。
  2. 代理反向到特定文件夹(我正在使用 nginx,所以观看此线程的人应该可以使用 nginx 文档)

感谢 Davi Macedo 提供解决方案 1。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 2018-02-25
    • 1970-01-01
    • 2020-01-24
    • 2018-11-02
    • 2020-12-04
    相关资源
    最近更新 更多