首页 > 解决方案 > 为什么 npm install with git+ssh install 与 https 不同?

问题描述

通过 https 和 ssh 安装 npm 包有什么区别?我的期望是下载的包是一样的,但事实并非如此。例如:

// package.json
"dependencies": {
    "lodash": "^4.17.19"
    // vs
    "lodash": "git@github.com:lodash/lodash.git#semver:^4.17.19"
}

当我使用第一个选项时,会安装实际的 npm 包。当我通过第二个选项安装时,我只得到从 repo 中列入白名单的文件,而不是实际的包本身。

我在 npm 文档中没有看到很好的解释。为什么这些不安装相同的东西?有没有办法通过 ssh 而不是提交本身来安装实际的包?

标签: node.jsgitnpmnpm-install

解决方案


安装依赖项的两种方式。

  1. 从 NPM 存储库本身(指定版本)
  2. 来自 github(指定分支或提交和标记)

除非有必要,否则建议将库的缩小/编译版本发布到注册表而不是源代码。因此,您从 NPM 获得的内容可能与源存储库本身不同。

这真的是“地方”(npm 或 github)而不是方法(http 或 ssh)的问题


推荐阅读