【问题标题】:Installing a library with npm that is not a module使用非模块的 npm 安装库
【发布时间】:2017-02-14 16:21:51
【问题描述】:

我正在做一个需要 WebGazer.js (https://webgazer.cs.brown.edu/) 的项目。我很想以某种方式将此库添加到 package.json,以便我的所有库都使用“npm install”安装,而不必调用“npm install”然后单独下载 webgazer。

有没有办法通过包含一个链接或类似的东西来做到这一点?我是 npm 新手,所以我什至不知道从哪里开始,或者这是否可能。

【问题讨论】:

    标签: javascript npm package.json


    【解决方案1】:

    npm install 仅适用于模块。但是,WebGazer 有一个用于 NPM 的 package.json,这就是你所需要的。 (该模块不需要在 NPM 存储库中列出。)

    试试这样的:

    npm install --save git+https://git@github.com/brownhci/WebGazer.git
    

    如果您确实遇到了您描述的问题,您可以设置一个postinstall 脚本来安装您需要的任何其他东西,但是您需要它。 https://docs.npmjs.com/misc/scripts

    【讨论】:

    • 这应该可以,但是当我在终端中输入它时,什么也没有发生。我必须使用 ctrl C 才能摆脱它。知道可能是什么问题吗?
    • 可以是任何东西。更新 NPM,尝试git_ssh:// 而不是 git+https://,摆动 WiFi 天线,向火山献祭一只山羊,等待另一个货箱从天上掉下来,等等。
    【解决方案2】:

    对于那些想知道如何安装您自己创建并且在 git 上的非 node_module 依赖项的人:

    只需将package.json 文件添加到您的(非node_module)依赖项中,至少看起来像这样:

    {
      "name": "your-dependency-name",
      "version": "1.0.0",
      "repository": {
        "type": "git",
        "url": "https://github.com/<user>/<repo>.git"
      }
    }
    

    然后在你的“母亲”项目中关注ryanve'sanswer

    可以通过 ssh 或通过 https 和 oauth 完成。

    https 和 oauth:创建一个具有“repo”范围的访问令牌,然后使用以下语法:

    "包名": "git+https://:x-oauth-basic@github.com//.git" ssh:设置 ssh 然后使用这个语法:

    "包名": "git+ssh://git@github.com//.git"

    (感谢Brad之前所说的)。

    【讨论】:

      猜你喜欢
      • 2011-12-26
      • 2015-11-15
      • 1970-01-01
      • 2021-11-04
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-14
      相关资源
      最近更新 更多