从使用 npm pack 创建的 tgz 安装 npm

far*_*way 12 node.js npm npm-install

我已经创建了一个.tgz带有npm pack. 尝试安装时npm打印出以下错误:

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.
Run Code Online (Sandbox Code Playgroud)

看起来npm由于某种原因没有提取我的.tgz包的内容,这意味着所有.js文件等,package.json尽管一切都在那里。显然它只尝试安装我的包中列出的依赖项。它真的应该这样工作还是我做错了什么?

小智 13

此错误意味着您不在包含 package.json 文件的目录中,并且您正在使用将包作为依赖项安装到现有(本地)npm 项目的 package.json 中的命令。

要全局安装您的软件包(只是为了测试它是否可以安装):

npm install -g package-0.0.1.tgz
Run Code Online (Sandbox Code Playgroud)

或者,如果您想将其安装/添加为其他 npm 项目(如测试工具)的依赖项,请首先确保 npm 项目具有 package.json,然后:

test-harness-dir> npm install package-0.0.1.tgz
Run Code Online (Sandbox Code Playgroud)