gpt4 book ai didi

c++ -/usr/bin/env : node: No such file or directory , C++

转载 作者:行者123 更新时间:2023-11-28 06:30:56 26 4
gpt4 key购买 nike

我正在用 C++ 为编译器编写一些函数,而不是 css。

我安装了nodejsless。我创建了一个 less 文件 test.less

@color: red;
a{color:@color;}

当我在终端上运行命令时:

lessc test.less test.css

它创建了一个名为 test.css 的文件 css,但是当我通过 C++ 运行这个命令时,它返回一个错误。请帮我。这是我的 C++ 函数:

std::string shell_exec( std::string cmd )
{
std::string result = "";
FILE* pipe = popen(cmd.c_str(), "r");
if (pipe == NULL)
{
return result;
}
char buffer[128];
while(!feof(pipe))
{
if(fgets(buffer, 128, pipe) != NULL)
{
result += buffer;
}
}
pclose(pipe);
return result;
}

shell_exec("lessc test.less test.css");

我得到一个错误:

/usr/bin/env: node: No such file or directory

/usr/bin/node 存在。

enter image description here enter image description here enter image description here

================更新:固定==================

谢谢@Bass Jobsen,@Lightness 在轨道上的比赛

我通过添加到 lessc 和 nodejs 的绝对路径来修复

shell_exec("/usr/bin/node /usr/bin/lessc test.less test.css");

最佳答案

发件人:https://unix.stackexchange.com/a/29620

The advantage of #!/usr/bin/env python is that it will use whatever python executable appears first in the user's $PATH.

因此您应该将 Node 添加到运行脚本的用户的 $PATH 中,请参阅:https://stackoverflow.com/a/13210246/1596547

请注意,我无法编译您的代码,但在使用以下代码时可以:

int main()
{
std::string r = shell_exec("lessc test.less test.css");
}

可能还使用 using namespace stdstring 而不是 std:string

关于c++ -/usr/bin/env : node: No such file or directory , C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27602479/

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