node.js - 为什么 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 而不是提交本身来安装实际的包?
解决方案
安装依赖项的两种方式。
- 从 NPM 存储库本身(指定版本)
- 来自 github(指定分支或提交和标记)
除非有必要,否则建议将库的缩小/编译版本发布到注册表而不是源代码。因此,您从 NPM 获得的内容可能与源存储库本身不同。
这真的是“地方”(npm 或 github)而不是方法(http 或 ssh)的问题
推荐阅读
- c++ - 如何使用 string(int, char) 函数为声明的字符串添加或更改值?
- c# - 无法加载文件或程序集“NewtonSoft.Json,版本=12.0.0.0”
- postgresql - Notebook 中的 psycopg2 如何连接到 psql 终端?
- git - Git branch delete 删除我的分支,当名称以不同的大小写写入时,我当前所在的
- firebase - Firebase 安全规则——测试服务器时间戳
- python - 连接熊猫中的点
- android - 由于未找到 Android SDK,Xamarin UI 测试无法运行
- ios - IOS:当蜂窝数据打开且 Wi-Fi 关闭时,如何启用 react-native fetch 工作?
- json - Swift JSONDecoder 显示的值与 JSON 树中的实际值不同
- html - 使用 CSS 和 HTML 将网站上的所有元素居中