【问题标题】:/usr/bin/env: node: No such file or directory , c++/usr/bin/env: 节点:没有这样的文件或目录,c++
【发布时间】:2023-03-19 01:17:01
【问题描述】:

我正在 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 已存在。

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

谢谢@Bass Jobsen,@Lightness Races in Orbit

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

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

【问题讨论】:

标签: c++ node.js less


【解决方案1】:

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

#!/usr/bin/env python 的优点是它会使用任何东西 python 可执行文件首先出现在用户的 $PATH 中。

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

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

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

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

【讨论】:

    猜你喜欢
    • 2021-06-17
    • 2016-02-20
    • 1970-01-01
    • 2014-12-06
    • 2011-04-08
    • 2013-03-11
    • 2019-12-11
    • 2013-02-27
    • 1970-01-01
    相关资源
    最近更新 更多