Node.js 如何在Linux托管的NodeJ上打开.exe文件
我正试图让我的节点服务器在Linux托管的NODEJS实现上启动一个.exe文件 My.exe位于此处:Node.js 如何在Linux托管的NodeJ上打开.exe文件,node.js,linux,wine,Node.js,Linux,Wine,我正试图让我的节点服务器在Linux托管的NODEJS实现上启动一个.exe文件 My.exe位于此处:'/home/username/projects/ProjectName/server/webserver/Project.exe' 当我尝试启动exe时 与: 我收到了一个不喜欢的错误文件 看起来是这样的: { Error: Command failed: /home/username/projects/ProjectName/server/webserver/Project.exe /ho
'/home/username/projects/ProjectName/server/webserver/Project.exe'
当我尝试启动exe时
与:
我收到了一个不喜欢的错误文件
看起来是这样的:
{ Error: Command failed: /home/username/projects/ProjectName/server/webserver/Project.exe /home/username/projects/ProjectName/server/webserver/files/31005
/home/username/projects/ProjectName/server/webserver/Project.exe: 1: /home/username/projects/ProjectName/server/webserver/Project.exe: MZ�##���@�#��: not found
/home/username/projects/ProjectName/server/webserver/Project.exe: 2: /home/username/projects/ProjectName/server/webserver/Project.exe: Syntax error: ")" unexpected
at ChildProcess.exithandler (child_process.js:294:12)
at ChildProcess.emit (events.js:198:13)
at maybeClose (internal/child_process.js:982:16)
at Socket.stream.socket.on (internal/child_process.js:389:11)
at Socket.emit (events.js:198:13)
at Pipe._handle.close (net.js:606:12)
killed: false,
code: 2,
signal: null,
cmd:
'/home/username/projects/ProjectName/server/webserver/Project.exe /home/username/projects/ProjectName/server/webserver/files/31005' }
当尝试在基于windows的NodeJS上使用windows目录而不是linux运行相同的函数时,该文件可以通过linux上的Wine打开,我的函数调用中是否有需要指示它使用Wine打开.exe的地方?如果是这样,我该怎么做呢?试试这个
const { exec} = require('child_process');
exec('wine /home/username/projects/ProjectName/server/webserver/Project.exe /home/username/projects/ProjectName/server/webserver/files/'+date,
function(err, data){
});
我通过以下方式获得了所需的功能:
exec("wine", ["/home/username/projects/ProjectName/server/webserver/Project.exe", date], function(err,data){
}
那么您正在尝试在Linux上运行Windows可执行文件?是吗?没错Rob,你为什么认为Windows二进制文件会在Linux上运行?所以,现在它给了我一个enoint(找不到文件),我想出于某种原因,当它调用函数时,它会留下引号,作为错误日志的一部分显示:cmd:'wine/home/aaronmanill/projects/Pizzabox/pizzaboxwebsite/server/webserver/Pizza_page_server.exe 31528'如果我尝试在终端中使用引号运行它,我会得到相同的错误,但是如果我在终端中不使用引号运行它,它会运行properly@AaronManill试着运行exec(“wine”),看看它是否有效
exec("wine", ["/home/username/projects/ProjectName/server/webserver/Project.exe", date], function(err,data){
}