首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nodejs应用程序在windows计算机中出现错误"%1不是有效的Win32应用程序“

问nodejs应用程序在windows计算机中出现错误"%1不是有效的Win32应用程序“
EN

Stack Overflow用户
提问于 2015-10-31 03:32:39
回答 2查看 9.9K关注 0票数 3

我的Nodejs应用程序在ubuntu中运行良好。当我试图在Windows机器上部署相同的程序时,它显示了下面的错误。

代码语言:javascript
复制
=>node server.js  
D:\home\site\wwwroot
D:\home\site\wwwroot\node_modules\ffi\node_modules\bindings\bindings.js:83
        throw e                  ^
Error: %1 is not a valid Win32 application.   
D:\home\site\wwwroot\node_modules\ffi\node_modules\ref\build\Release\binding.node
    at Error (native)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at bindings 

我删除了ffi模块,并尝试npm安装ffi再次在windows机器上它也不起作用。

代码语言:javascript
复制
 => npm install ffi
D:\home\site\wwwroot
npm WARN package.json @ No description
npm WARN package.json @ No repository field.
npm WARN package.json @ No README data
npm WARN package.json @ No license field.
gyp ERR! build error 
gyp ERR! stack Error: `msbuild` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (c:\Program Files (x86)\npm\2.11.2\node_modules\npm\node_modules\node-gyp\lib\build.js:269:23)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1074:12)
gyp ERR! System Windows_NT 6.2.9200
gyp ERR! command "node" "c:\\Program Files (x86)\\npm\\2.11.2\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd D:\home\site\wwwroot\node_modules\ffi
gyp ERR! node -v v0.12.6
gyp ERR! node-gyp -v v2.0.1
gyp ERR! not ok 
npm ERR! Windows_NT 6.2.9200

您能谈谈您对这个问题的看法吗?

EN

回答 2

Stack Overflow用户

发布于 2015-10-31 04:04:25

你不能像那样在不同的平台上移动编译过的插件(就像你不能把Linux可执行文件复制到Windows上并期望能够执行它一样)。在将项目树复制到不同的平台之后,您将需要在项目目录中使用npm rebuild来重新编译任何插件。

票数 7
EN

Stack Overflow用户

发布于 2015-11-02 16:32:05

节点模块ffi是本机模块。此错误是由Azure WebApps的限制引起的,请参阅https://azure.microsoft.com/en-us/documentation/articles/nodejs-use-node-modules-azure-apps/的Native Modules部分。医生说

"Azure网站并不支持所有本机模块,并且可能无法编译具有特定先决条件的模块。“

所以如果你必须为NodeJS应用程序使用本机模块,我推荐使用Azure VM来支持编译本机模块。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33443595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档