Comment créer des fichiers binarys 32 bits sur un système 64 bits en utilisant npm?

Je développe une application que je prévois de dissortingbuer en utilisant node-webkit , qui ne contient que des fichiers binarys 32 bits sous Windows. Mon système d’exploitation est Windows 7 Ultimate 64 bits, donc npm construit des fichiers binarys de 64 bits de protobuf pour node , ce qui est une condition préalable à l’un des modules que j’utilise.

J’ai essayé:

  • npm install protobuf –arch = ia32
  • npm install protobuf –target_arch = ia32
  • npm set npm_config_arch ia32
  • Installer la version 32 bits de node et npm et l’utiliser pour installer protobuf

Et quelques autres choses dont je ne me souviens pas pour le moment.

Comment puis-je obtenir npm pour construire des binarys 32 bits? Devrais-je le construire sur une machine 32 bits?

Vous devriez pouvoir cloner le repo dans node_modules vous-même et le comstackr manuellement en utilisant

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

dans le répertoire où vous avez cloné le repository.

Ajouter un fichier dans la racine de votre projet appelé .npmrc Windows explorer ne permet pas la création d’un nom de fichier commençant par un point, mais cela peut être fait sur la ligne de commande Windows comme ceci:

 type NUL > .npmrc 

Ajoutez ensuite la ligne suivante au fichier:

 npm_config_arch=ia32 

Vous pouvez également vouloir y placer cette ligne pour forcer la version de construction de VS, car certains paquets veulent utiliser des versions non installées. Remplacez 2013 par votre version de Visual Studio si différente (2012, etc.):

 msvs_version=2013