为什么 npm 安装 git+ssh 安装与 https 不同?
Why does npm install with git+ssh install differently than 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 而不是提交本身来安装实际的包?
两种安装依赖的方式
- 来自 NPM 存储库本身(指定版本)
- 来自 github(指定分支或提交和标记)
除非有必要,否则建议将 minified/compiled 版本的库发布到注册表而不是源代码。因此,您从 NPM 获得的内容可能与源存储库本身不同。
与方法(http 或 ssh)相比,这确实是“位置”(npm 或 github)的问题
通过 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 而不是提交本身来安装实际的包?
两种安装依赖的方式
- 来自 NPM 存储库本身(指定版本)
- 来自 github(指定分支或提交和标记)
除非有必要,否则建议将 minified/compiled 版本的库发布到注册表而不是源代码。因此,您从 NPM 获得的内容可能与源存储库本身不同。
与方法(http 或 ssh)相比,这确实是“位置”(npm 或 github)的问题