如何使用npm在64位系统上构build32位二进制文​​件?

我正在开发一个应用程序,我打算使用node-webkit (在Windows上只有32位二进制文​​件)进行分发。 我的操作系统是Windows 7 Ultimate 64位,因此npm正在为节点构buildprotobuf的 64位二进制文​​件,这是我使用的模块之一。

我努力了:

  • npm安装protobuf –arch = ia32
  • npm安装protobuf –target_arch = ia32
  • npm设置npm_config_arch ia32
  • 安装节点和npm的32位版本并使用它来安装protobuf

还有一些我现在还记不得的东西。

我怎样才能获得npmbuild立32位二进制文​​件? 我必须在32位机器上构build它吗?

您应该能够将自己的repo复制到node_modules中,并使用手动进行编译

node-gyp clean configure build --verbose --arch=ia32 

在你克隆回购的目录里面。

在名为.npmrc的项目根目录中添加一个文件Windows资源管理器不允许创建以点开头的文件名,但是可以在Windows命令行上这样做:

 type NUL > .npmrc 

然后将以下行添加到文件中:

 npm_config_arch=ia32 

你可能也想把这行放在那里来强制VS构建版本,因为一些包想要使用未安装的版本。 如果与您的Visual Studio版本不同(2013等),请将2013替换为:

 msvs_version=2013