在根环境中使用 npm 的正确方法
Proper way of using npm in root environment
我目前正在使用 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 文件夹的所有权吗?如果我这样做,以后的权限怎么办?
如果您不了解它的详细信息,但有指南或参考可以查找,我将不胜感激。
感谢大家!
我找到了两个解决方法:
- chown -R 将目录所有者更改为我自己的用户。这行得通,但我认为这不是正确的方法。
- 代理反向到特定文件夹(我使用的是 nginx,所以看这个帖子的人应该对 nginx 文档没问题)
感谢 Davi Macedo 提供解决方案 1。
我目前正在使用 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 文件夹的所有权吗?如果我这样做,以后的权限怎么办?
如果您不了解它的详细信息,但有指南或参考可以查找,我将不胜感激。
感谢大家!
我找到了两个解决方法:
- chown -R 将目录所有者更改为我自己的用户。这行得通,但我认为这不是正确的方法。
- 代理反向到特定文件夹(我使用的是 nginx,所以看这个帖子的人应该对 nginx 文档没问题)
感谢 Davi Macedo 提供解决方案 1。