Installieren von node.js-Paketen für unterschiedliche Architekturen

9

Ich muss npm-Pakete installieren, die für eine andere Zielarchitektur (Linux x64) gedacht sind als die Maschine, auf der npm läuft (Windows x86). Gibt es eine Möglichkeit, npm install anzuweisen, Pakete herunterzuladen, die für die andere OS / Architektur bestimmt sind?

    
skb 25.07.2014, 17:46
quelle

2 Antworten

1

Die meisten binären npm-Pakete kompilieren die .node binary aus der Quelle. Sie können die Cross-Kompilierung mit npm nicht wirklich erzwingen, aber Sie können möglicherweise ein Postinstall-Skript erstellen, um die bestimmte Abhängigkeit neu zu kompilieren führt node-gyp mit einem --arch -Flag:

erneut aus

"postinstall" : "node-gyp -C node_modules/your-dependency clean configure --arch=x86_64 rebuild"

Sie benötigen eine geeignete Compiler-Toolchain. Ich bin mir sicher, was es für Windows ist, aber wahrscheinlich wirst du am Ende mingw oder cygwin

    
lxe 01.05.2015 22:30
quelle
1

Die meisten nativen Knotenmodule verwenden node-pre-gyp , das ein Installationsskript verwendet, um nach vordefinierten Binärdateien für zu suchen Ihre OS / arch / v8 ABI-Kombination und Fallback zu nativem Build, wenn einer nicht verfügbar ist.

Wenn Ihre nativen Module node-pre-gyp verwenden, können Sie Folgendes tun:

%Vor%

Sie werden in der Ausgabe so etwas sehen:

%Vor%

Wenn keine vordefinierte Binärdatei gefunden werden kann, greift node-pre-gyp auf den Versuch zurück, das Modul aus der Quelle zu erstellen.

Wenn die vorgefertigten Module nicht herunterladbar sind, gibt es auch eine Möglichkeit, & amp; hosten Sie sie von Ihrem eigenen Spiegel, aber das ist eine andere Frage:)

    
thom_nic 31.08.2017 19:42
quelle

Tags und Links