npm install from tgz created with npm pack

14,719

This error means you are not in a directory that has a package.json file and you are using the command that installs a package as a dependency into an existing, (local) npm project's package.json.

To install your package globally (just to test if it can be installed):

npm install -g package-0.0.1.tgz

Or, if you want to install/add it as a dependency to some other npm project (like a test harness), first make sure that npm project has a package.json, and then :

test-harness-dir> npm install package-0.0.1.tgz
Share:
14,719
faraway
Author by

faraway

Updated on June 04, 2022

Comments

  • faraway
    faraway almost 2 years

    I've created a .tgz file with npm pack. When trying to install it npm prints out the following error:

    D:\tmp>npm install package-0.0.1.tgz
    npm WARN saveError ENOENT: no such file or directory, open 'D:\tmp\package.json'
    npm notice created a lockfile as package-lock.json. You should commit this file.
    npm WARN enoent ENOENT: no such file or directory, open 'D:\tmp\package.json'
    npm WARN tmp No description
    npm WARN tmp No repository field.
    npm WARN tmp No README data
    npm WARN tmp No license field.
    

    It looks like npm for some reason does not extract the contents of my .tgz package, meaning all the .js files, package.json etc. although everything is there. Apparently it only tries to install the dependencies listed in my package. Should it really work this way or I'm doing something wrong?