ENOLOCAL:发布npm软件包后找不到package.json文件

时间:2018-06-26 09:33:53

标签: javascript json node.js npm

生态系统

using npm@6.1.0
using node@v8.11.1

上下文

我有一个包含本地依赖项的JS项目:

package.json:

"dependencies": {
   "my_local_module": "file:my_local_module"
},

然后,我以npm私有程序包发布了该项目:到目前为止,一切正常。

问题

当我尝试安装我的私人软件包时,出现了这个问题:

33 error code ENOLOCAL
34 error Could not install from "node_modules\@my_scope\my_project\my_local_module" as it does not contain a package.json file.

当然,package.json文件存在。当我尝试从gitHub手动复制项目而不是使用npm安装该项目时,它工作得很好,但我真的很想使其与:

一起使用
npm install @my_scope\my_project 

当包含本地依赖项或类似内容的软件包时,是否有一种特定的发布方法?谢谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您可以尝试删除package-lock.json文件

我有同样的问题和错误。 package-lock.json仍在引用“ file:my_local_module”。 我删除了它并重新npm安装了该模块以使其正常工作

答案 1 :(得分:0)

我在 npm cli github 中发现了一个类似问题的报告

https://github.com/npm/cli/issues/1756

看来这可能是 npm v6 的问题(我使用的是 6.14.12 版)。将 npm 更新到 v7 似乎为我解决了这个问题。