2012-03-15 15 views
7

Sto cercando di trovare un modo per utilizzare un'applicazione nodejs della riga di comando che ho creato su un computer senza node.js installato. In altre parole come impacchettare la mia applicazione con node.js all'interno, per evitare che gli utenti abbiano già installato node.js.Come creare un'applicazione di riga di comando autonoma con Node.js

Il caso di utilizzo tipico è: eseguo l'applicazione e l'applicazione funziona utilizzando il nodo centrale fornito con l'applicazione (oppure l'applicazione controlla se è installato node.js e, in caso contrario, lo scarica e lo installa automaticamente).

Avete qualche idea?

+2

Questo sembra essere parte di un duplicato Pool: http://stackoverflow.com/questions/6145561/is-there- a-way-to-compile-node-js-source-files, http://stackoverflow.com/questions/7557364/packing-node-js-scripts-node-exe-into-a-single-executable, http: //stackoverflow.com/questions/8173232/make-exe-from-node-js-app, http://stackoverflow.com/questions/8794140/is-it-possibile-per-creare-desktop-applications-with- node-js, http://stackoverflow.com/questions/9724817/how-to-create-a-stand-alone-command-line-application-with-node-js, http: // sta ckoverflow.com/questions/13388108/standalone-node-js-application – Mogsdad

+0

Un buon elenco di strumenti è qui: http://stackoverflow.com/a/12486874/32679 – GrGr

risposta

0

Controllare il Node.js License, sembra che sia autorizzato dal MIT, quindi è perfettamente legale farlo.

Suppongo che tu abbia come target Windows o Mac, poiché su Linux potresti semplicemente rilasciare un pacchetto che dipende da Node.js di una particolare versione e fornire uno script per aggiungere uno dei vari repository gratuiti per .deb oppure .rpm versioni precompilate di Node.js.

Avrete bisogno di ottenere il codice sorgente per la versione che vi interessa e costruirlo per la vostra piattaforma preferita. Come ricordo, l'eseguibile costruito può essere eseguito direttamente senza essere installato, ma presuppone che alcune librerie siano disponibili su $PATH (OpenSSL è quello che stanno esplicitamente menzionando nella licenza come invece che compilato staticamente nel binario).

Reading the Visual Studio build script, sembra che sia necessario installare Python per Windows per creare il .exe. I sospetto (ma non lo so per certo) che l'eseguibile è essenzialmente autonomo per Windows, quindi è possibile associare il codice Javascript con esso e scrivere un semplice file batch per farlo funzionare su quella piattaforma. Non ho idea di come creare un programma di installazione di Windows .msi, ma il file vcbuild.bat anche include la possibilità di generarne uno, in modo da poterlo semplicemente utilizzare sul proprio codice per farlo.

0

Python, Perl e Tcl dispongono di utilità che eseguono uno script e creano un eseguibile per una determinata piattaforma. (Non conosco Ruby, PHP, ecc.) - fino ad ora non esiste alcuna utility come questa per nodejs, ma sarei interessata anche a una esistente.

C'è un'opzione di compilazione nel nodo per far eseguire uno script specifico all'avvio, quindi c'è un po 'di impianto idraulico.

1

JXcore permette di fare questo.

Una volta che avete installato JXcore su Windows (o sistemi Unix), tutto ciò che dovete fare è eseguire:

jx package app.js "myAppName" -native 

Questo produrrà a.exe (o unix eseguibile se il comando è stato eseguito su un sistema unix) file che è possibile distribuire e può essere eseguito senza alcuna dipendenza esterna di sorta (non è nemmeno necessario JXcore né Node.js sul sistema).

Ecco la documentazione su tale funzionalità: http://jxcore.com/packaging-code-protection/#cat-74

(duplicati di https://stackoverflow.com/a/27551233/810830)

Problemi correlati