linux - 如何以 apache 用户身份运行 npm 命令

标签 linux apache npm server

帮助:如何以 apache 用户身份运行 npm 命令?

sudo -u apache npm run prod 它说找不到“npm 命令”。

虽然除了apache用户之外其他用户都可以使用npm。

最佳答案

推测用户apache的默认路径不包括npm安装的目录。您可以尝试指定完整路径,例如 sudo -u apache/full/path/to/npm run prod ,但如果未根据需要设置默认路径,您可能会遇到其他问题。您可以使用 -E 调用 sudo 来保留当前环境:如果有效,您可以将 -E 替换为 --preserve-env=PATH,假设只需要 PATH 变量。

根据您想要执行的操作,最好将 npm 安装在 apache 可以找到的位置,或者更改 apache 的用户配置文件以包含 npm 的当前位置。在不受控制的环境中运行 apache 可能会导致安全问题。

关于linux - 如何以 apache 用户身份运行 npm 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53062040/

相关文章:

php - 上传到Linux服务器后Codeigniter无法运行

apache - 在我的 Laravel 应用程序上遇到 mod_rewrite 问题

css - 有人知道如何通过 apache RewriteRule 将 "opera9fixes.css"仅提供给 opera 9 吗?

linux - Freepbx自定义上下文出站路由

linux - 无法在 Linux 中更改权限为 0666 的文件的所有权

核心转储,但核心文件不在当前目录中?

angular - 在 Angular CLI 中使用 angular-in-memory-web-api

apache - 如何在 htaccess 中使用 RewriteCond 写入(A 和 B)或(C 和 D)?

javascript - 解决延迟不按预期工作

javascript - 如何将参数传递给 --world-parameters 或 npm run 命令以供包中的脚本使用