Heim  >  Artikel  >  Web-Frontend  >  Lassen Sie uns darüber sprechen, wie Sie mit pkg Node.js-Projekte in ausführbare Dateien packen.

Lassen Sie uns darüber sprechen, wie Sie mit pkg Node.js-Projekte in ausführbare Dateien packen.

青灯夜游
青灯夜游nach vorne
2022-12-02 21:06:014838Durchsuche

Wie packe ich die ausführbare Datei von nodejs mit pkg? Im folgenden Artikel erfahren Sie, wie Sie mit pkg das Node-Projekt in eine ausführbare Datei packen. Ich hoffe, es hilft Ihnen weiter!

Lassen Sie uns darüber sprechen, wie Sie mit pkg Node.js-Projekte in ausführbare Dateien packen.

Mit pkg können Sie Ihr Node.js-Projekt in eine ausführbare Datei packen, die sogar auf Geräten ausgeführt werden kann, auf denen Node.js nicht installiert ist. [Verwandte Tutorial-Empfehlungen: nodejs-Video-Tutorial]

Experimentelle Umgebung

  • Betriebssystem: Windows

  • Knotenversion: 16.14.2

Betriebsprozess

  • PKG herunterladen

Wir können es global installieren und in einem beliebigen Verzeichnis ausführen:

$ npm install -g pkg
  • Paketierungsprogramm

Schreiben Sie zuerst ein einfaches Programm, z. B. den Inhalt von server.js.

const express = require('express');
const app = express();

app.get('/', (req, res) => {
    res.send('Hello World!');
});

app.listen(3000, () => {
    console.log('Express web app on localhost:3000');
});

Geben Sie die Nodejs ein Projektstammverzeichnis, Führen Sie den folgenden Befehl aus

$ pkg server.js

Der erste Fehler wird gemeldet

Zu diesem Zeitpunkt wird ein Fehler gemeldet

$ pkg server.js
> pkg@5.6.0
> Targets not specified. Assuming:
  node16-linux-x64, node16-macos-x64, node16-win-x64
> Fetching base Node.js binaries to PKG_CACHE_PATH
  fetched-v16.14.2-linux-x64          [                    ] 0%> Not found in remote cache:
  {"tag":"v3.3","name":"node-v16.14.2-linux-x64"}
> Building base binary from source:
  built-v16.14.2-linux-x64
> Error! Not able to build for 'linux' here, only for 'win'

Die allgemeine Idee ist, dass die aktuelle Umgebung nur in Windows-Systemen kompilierte ausführbare Dateien unterstützt Das heißt, die win

Anpassungsanweisungen lauten:

$ pkg -t win server.js

wobei -t win äquivalent zu --targets win ist, was bedeutet, dass Dateien nur für Windows kompiliert werden.

Der zweite Fehler wird gemeldet

Beim Kompilieren wird erneut ein Fehler gemeldet:

$ pkg -t win server.js
> pkg@5.6.0
> Fetching base Node.js binaries to PKG_CACHE_PATH
  fetched-v16.14.2-win-x64            [                    ] 0%> Not found in remote cache:
  {"tag":"v3.3","name":"node-v16.14.2-win-x64"}
> Building base binary from source:
  built-v16.14.2-win-x64
> Fetching Node.js source archive from nodejs.org...
> Error! AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:

Die Hauptidee ist, dass die entsprechende Binärdatei fetched-v16.14.2-win-x64 im Cache fehlt Laden Sie die entsprechende Datei herunter und legen Sie sie im entsprechenden Cache ab.

1. Gehen Sie zur offiziellen Website, um die entsprechende Versionsdatei herunterzuladen, meine ist beispielsweise node-v16.14.2-win-x64

Offizielle Website-Adresse: https://github.com/vercel/pkg- fetch/releases

Lassen Sie uns darüber sprechen, wie Sie mit pkg Node.js-Projekte in ausführbare Dateien packen.

2. Benennen Sie die im vorherigen Schritt heruntergeladene Datei node-v16.14.2-win-x64 in fetched-v16.14.2-win-x64 um und legen Sie sie im Cache-Verzeichnis des aktuellen Benutzers ab.

Mein Cache-Verzeichnis ist beispielsweise C:UsersMangoDowner.pkg-cache Nach dem Zusammenfügen des Abruf-Tags wird es zum endgültigen Verzeichnis. Anhand der Informationen im Fehlerbericht können wir erkennen, dass es sich bei dem Tag um v3.3 handelt

 {"tag":"v3.3","name":"node-v16.14.2-win-x64"}

Wir können erhalten. Das endgültige übergeordnete Verzeichnis lautet C:UsersMangoDowner.pkg-cachev3.3.
Die endgültige Dateiadresse lautet also C:UsersMangoDowner.pkg-cachev3.3fetched-v16.14.2-win-x64.

Erneut kompilieren. Erfolg!

$ pkg -t win server.js
> pkg@5.6.0

Weitere Informationen zu Knoten finden Sie unter: nodejs-Tutorial!

Das obige ist der detaillierte Inhalt vonLassen Sie uns darüber sprechen, wie Sie mit pkg Node.js-Projekte in ausführbare Dateien packen.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen