7

在我使用命令创建的新项目中:

npm init

我想从另一个 GitHub 项目添加依赖项,所以我使用了命令:

npm install https://github.com/cichy380/prefixData.git --save-dev

但我得到了错误:

npm 错误!代码 ENOPACKAGEJSON

npm 错误!package.json 非注册包缺少 package.json: git+ https://github.com/cichy380/prefixData.git

npm 错误!package.json npm 在当前目录中找不到 package.json 文件。

你能解释一下为什么吗?

3 个答案

6

我相信我可以回答你的问题“你能解释一下为什么吗?”

鉴于问题中的信息有限,没有人可以肯定地告诉您错误的根本原因,但它可能是以下原因之一:

  1. 最简单的问题可能是package.json您的存储库中没有; 或者

  2. 在您的问题中,您说您执行了命令:

    npm install https://github.com/cichy380/prefixData.git --save-dev
    

    这不是有效的npm 包 git url 格式如果您使用该协议git+https,您可能不会收到该错误,就像这样

    npm install git+https://github.com/cichy380/prefixData.git --save-dev
    

    我不确定这是否适用于所有 npm 版本,但正如您将在 npm 包文档链接中看到的那样,它不允许仅https使用协议;或者

  3. 我不能肯定地说的两个原因2是你的问题是一个,不确定你使用的是什么版本的 npm 包,哪些 npm 版本遵循我作为链接提供的文档,你提供的两个错误包括git+https协议,所以这很混乱:

    npm ERR! package.json Non-registry package missing package.json: 
    git+https://github.com/cichy380/prefixData.git.
    

希望这可以帮助某人!

0

我通过验证器检查了package.json文件,并在该文件中发现了错误。修复了它,现在命令工作正常!谢谢npm install ...

0

请注意,自 2019 年 5 月 10 日起,您还拥有“ GitHub 包注册表(目前有限公测) ”功能

您现在可以在源代码旁边发布公共或私有包。
GitHub Package Registry 与 GitHub 完全集成,并支持以下包管理工具:

  • JavaScript (npm),

  • Java(Maven),

  • 红宝石(RubyGems),

  • .NET (NuGet),和

  • 泊坞窗图像。

在这里查看更多

https://help.github.com/assets/images/help/package-registry/package-registry-page.png

在您的情况下:“配置 NPM 以与 GitHub 包注册表一起使用

你的答案


来自  https://stackoverflow.com/questions/51897702/how-to-add-dependency-from-another-github-project