如何从另一个Github项目添加依赖项?

时间:2018-08-17 14:36:54

标签: node.js github npm package

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

db['users'].update({'study_id': 1},{'$unset': {'credentials.user_id': 1}}))

我想添加来自另一个GitHub项目的依赖关系,所以我使用了命令:

npm init

但是我得到了错误:

  

npm错误!代码ENOPACKAGEJSON

     

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

     

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

你能解释一下为什么吗?

3 个答案:

答案 0 :(得分:0)

我通过validator检查了 package.json 文件,但发现此文件中有错误。我fixed,现在npm install ...命令正常!谢谢

答案 1 :(得分:0)

请注意,自2019年5月10日起,您还将具有“ GitHub Package Registry (limited public beta for now)”功能

  

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

     
      
  • JavaScript(npm),
  •   
  • Java(Maven),
  •   
  • Ruby(RubyGems),
  •   
  • .NET(NuGet)和
  •   
  • Docker映像。
  •   

请参见more here

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

在您的情况下:“ Configuring NPM for use with GitHub Package Registry

答案 2 :(得分:0)

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

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

  1. 最简单的问题可能是您的存储库中没有package.json OR
  2. 在您的问题中,您说您执行了命令:

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

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

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

    我不确定这在所有npm版本中是否都有效,但是正如您将在npm软件包文档链接中看到的那样,它不仅仅支持https协议; OR

  3. 对于某些 2 我不能说的两个原因是您的问题是一个,不确定您使用的是哪个版本的npm软件包以及哪个npm版本遵守我作为链接提供的文档,并且两次,您提供的错误包括git+https协议,因此令人困惑:

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

希望这对某人有帮助!