gpt4 book ai didi

node.js 不尊重 $PATH 变量中的所有路径

转载 作者:搜寻专家 更新时间:2023-11-01 00:01:59 24 4
gpt4 key购买 nike

这个问题与 Nodejs Child Process with Unix Executable .

但是我找不到好的解决方案,并且由于我的声誉点,我无法在那里发表评论。

为了解释我的问题,我有一些我自己的可执行文件需要从 node.js 执行。这些可执行文件的路径已在 PATH 变量中设置。因此,我可以在没有任何路径前缀的情况下从终端运行我的可执行文件。

尽管如此,node.js 接收 process.env.PATH 设置为以下值:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

我尝试在生成进程之前附加路径:

process.env.PATH = process.env.PATH + ":<path_to_my_executables>"

但是进程退出时出现 127 Shell 代码,如果我没记错的话,这是“未找到命令”。

有什么想法吗?

提前致谢!

最佳答案

好的,我使用 shell 脚本让它工作。肯定有更好的解决方案。

我首先在 shell 脚本中将所需路径导出到我的可执行文件(及其依赖项),然后开始执行。因此 shell 脚本结构类似于:

export JAVA_HOME=<java_path>
export EXECUTABLES_HOME=<executables_path>
export PATH="$PATH:$JAVA_HOME/bin:$EXECUTABLES_HOME"
<execute_required_executable> <arguments>

如果有人有更好的解决方案,请告诉我!

关于node.js 不尊重 $PATH 变量中的所有路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25378907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com