How to pack NodeJS project into a tarball?

Today I needed to install my brand new NodeJS-developed CLI application in my computer.

After a quick search on the Internet I became aware that NPM allows me to do that very easily. The command is:

npm pack

Run it inside the project that you want to pack (at the same level of the package.json file).

Here is an example of how your console output should look:

Z:\Code\NodeJS\skynetProject>npm pack
npm notice
npm notice package: skynetProject@1.0.0
npm notice === Tarball Contents ===
npm notice 12.3kB bin/cfc.js
npm notice 72.6kB data/skynetSecrets.json
npm notice 396B package.json
npm notice === Tarball Details ===
npm notice name: skynetProject
npm notice version: 1.0.0
npm notice filename: skynetProject-1.0.0.tgz
npm notice package size: 6.6 kB
npm notice unpacked size: 85.3 kB
npm notice shasum: 29807f45119eacf60a5ea54f44460e9327cca930
npm notice integrity: sha512-RkrYzmyVLr2fp[...]6CuHh+bGh7YHw==
npm notice total files: 3
npm notice
skynetProject-1.0.0.tgz

Now, onto the fun part! Install my tarball globally so I can run it from anywhere in the command line:

Z:\Code\NodeJS\skynetProject>npm install -g skynetProject-1.0.0.tgz
C:\Users\Terminator-T800\AppData\Roaming\npm\cfc -> C:\Users\Terminator-T800\AppData\Roaming\npm\node_modules\skynetProject\bin\cfc.js
+ skynetProject@1.0.0
added 29 packages from 13 contributors in 4.22s

Boom! it’s done. Now, if for some reason you want to uninstall it you can quickly do it with the following command (notice that in this case I indicate the name of the project):

Z:\Code\NodeJS\skynetProject>npm uninstall -g skynetProject
removed 29 packages in 2.651s

Sources:

  • https://docs.npmjs.com/cli-commands/pack.html

Leave a Comment

Your email address will not be published. Required fields are marked *