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

3

生态系统

using npm@6.1.0
using node@v8.11.1

背景

我有一个JavaScript项目,其中包含一个本地依赖:

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一起使用:
npm install @my_scope\my_project 

当包含本地依赖关系或其他内容时,发布软件包是否有特定的方法?感谢您的帮助。


你能否包含项目的文件结构? - Yoav Hortman
@Sierra:你解决了这个问题吗? - Southgarden116
2个回答

1
你可以尝试删除package-lock.json文件。
我遇到了同样的问题和错误。package-lock.json仍然在引用“file:my_local_module”。 我将其删除并重新安装了模块,以使其正常工作。

你能进一步解释一下吗?是什么让你认为这解决了问题? - Nico Haase
我遇到了同样的问题和错误。package-lock.json仍然在引用“file:my_local_module”。我将其删除并使用npm安装了该模块以使其正常工作。 - GChevass
请在您的答案中添加所有此类信息,以便其他人可以从中学习。 - Nico Haase

0
我在 npm cli 的 GitHub 上找到了一份类似问题的报告。

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接