Download a package from npm as a tar (not installing it to a module)
Solution 1:
You can use npm view
to get the URL to the registry's tarball (in this example for the module level
):
$ npm view level dist.tarball
And to download tarball, you can use npm pack
:
$ npm pack level
Solution 2:
Just run the command
npm view [package name] dist.tarball
It will return a tar url.
Solution 3:
Running npm pack PACKAGE_NAME
will download a tarball of any package on npm.
To extract it, just run tar -xzf DOWNLOADED_FILE.tgz
Example:
npm pack react
then extract:
tar -xzf react-16.6.3.tgz
Solution 4:
If you need to get the tarball without having npm installed, you can fetch the package information using curl
and use jq
to get the right information from the JSON:
curl https://registry.npmjs.org/PACKAGE-NAME/ \
| jq '.versions[."dist-tags".latest].dist.tarball'
This is for instance useful if you're building a Docker container that requires one npm package, and don't want to install npm just for that.