【问题标题】:npm install git repository without package.jsonnpm 安装没有 package.json 的 git 存储库
【发布时间】:2013-02-15 02:16:30
【问题描述】:

我有一个依赖多个第三方库的项目。

我的 package.json 看起来像:

"dependencies": {
    "vendor-name": "git://github.com/vendor/name.git#v1.1",
    ...
}

只要vendor-name 存储库包含package.json,它就可以工作。

如果没有这样的文件,我会得到:

npm ERR! path /var/folders/0l/temp-folder/package.json
npm ERR! code ENOENT

实际上,npm install git://github.com/vendor/name.git#v1.1 也不起作用。

所以我的问题是: 有没有办法安装(包括)没有 package.json 的 git 存储库(在 dependencies 中)?

【问题讨论】:

  • 我认为这是不可能的。如果 repo 不是您的,请 fork 并将您自己的 package.json 文件添加到其中。也许,甚至提交一个拉取请求。
  • 我曾考虑按照建议使用 Napa,但我认为您的解决方案更好。

标签: git npm


【解决方案1】:

不,根据npm documentation这是不可能的

【讨论】:

    【解决方案2】:

    是的,你可以使用这个包:https://npmjs.org/package/napa

    【讨论】:

      【解决方案3】:

      napa 所做的似乎被过度设计了。我认为只需将安装脚本添加到 package.json 中就足够了。

      "scripts": {
          "install": "git clone https://github.com/vendor/name.git -b v1.1 node_modules/name"
      }
      

      【讨论】:

      • 这可能会在重新运行时出现问题,因为克隆可能会失败。
      • @Danosaure 您可以将其用作安装命令:if cd node_modules/name; then git pull; else git clone https://github.com/vendor/name.git node_modules/name; fi
      猜你喜欢
      • 2013-05-25
      • 2014-06-06
      • 2016-03-05
      • 2015-06-01
      • 1970-01-01
      • 2021-11-28
      • 2020-07-01
      • 1970-01-01
      • 2017-06-05
      相关资源
      最近更新 更多