Node.js git://和git+有什么不同;https://?

Node.js git://和git+有什么不同;https://?,node.js,git,Node.js,Git,我想将git存储库添加到我的package.json中 { "dependencies": { "dep1": "git+https://url1", "dep2": "git://url1" } 当我运行dep1时,它工作了,而dep2失败了。 git+https和git://之间有什么区别? 结果是一样的吗? 是否需要向.git添加内容?参考问题 “这意味着连接可以同时使用http和git协议。下面对协议进行了说明。” 实际上,您只是

我想将git存储库添加到我的package.json中

{
    "dependencies": {
        "dep1": "git+https://url1",
        "dep2": "git://url1"        
}
当我运行dep1时,它工作了,而dep2失败了。
git+https
git://
之间有什么区别? 结果是一样的吗? 是否需要向.git添加内容?

参考问题

“这意味着连接可以同时使用http和git协议。下面对协议进行了说明。”

实际上,您只是添加了git使用HTTPS传输数据的功能。更多详细信息包含在链接中。

参考问题

“这意味着连接可以同时使用http和git协议。下面对协议进行了说明。”


实际上,您只是添加了git使用HTTPS传输数据的功能。更多详细信息包含在链接中。

您的dep1是https协议和git协议

dep1:“git+https://url1“

您的DEP2只是git协议

dep2”:git://url1:

您之所以能够成功使用dep1而不是dep2,是因为您使用的是通过https进行身份验证的web服务器。您似乎没有处理git服务器,因此dep2是多余的,可以删除

至于不要重新发明轮子或半抄袭他人。这里有一些好的读物供感兴趣的人阅读

如果感兴趣,这是git协议上的一个长度阅读。

<>这太长了,读不下去了。
您的dep1是https协议和git协议

dep1:“git+https://url1“

您的DEP2只是git协议

dep2”:git://url1:

您之所以能够成功地使用dep1而不是dep2,是因为您使用的是通过https进行身份验证的web服务器。您似乎没有处理git服务器,因此dep2是多余的,可以删除

不要重复发明轮子或半抄袭他人。这里有一些很好的读物供感兴趣的人阅读

如果感兴趣,这是git协议上的一个长度阅读。

这提供了一个良好的tl;dr.对协议的理解。

它向NPM包管理器表明您希望使用git,存储库URL为
https://url1

git
git+ssh
git+http
git+https
git+file
中的一种


如果您直接与git对话,您只会说
GitClonehttps://url1
,但NPM可以使用其他协议,如
文件:
,或
https:
,通过普通https下载tarball。其他包管理器,如
pip

它向NPM包管理器表明您希望使用git,存储库URL为
https://url1

git
git+ssh
git+http
git+https
git+file
中的一种


如果您直接与git对话,您只会说
GitClonehttps://url1
,但NPM可以使用其他协议,如
文件:
,或
https:
,通过普通https下载tarball。其他包管理器,如
pip

有几种协议可用于引用package.json中的依赖项:

git, git+ssh, git+http, git+httpsgit+文件

和往常一样,所有协议都有优缺点

不同之处在于,使用
git:
您使用的是本机git协议,而使用
git+https:
您通过https访问git repo(例如,您也可以使用SSH而不是https,但服务器需要支持它)

git协议速度非常快,但缺少身份验证或加密

git+https非常适合公共回购,它可以与代理和防火墙配合使用,但如果需要身份验证,则需要提供用户名和密码

git+ssh适用于私有repo,因为它使用ssh公钥进行身份验证,无需输入密码

git+文件用于引用您自己的文件系统上的repo,通常是本地文件,但也可以与SMB或NFS的远程文件一起使用

现在,如果您想
git+http
更改为
git
,那么只有在安装了git服务器并在同一主机上侦听并提供相同的repo时,它才会起作用

这就像在URL中将
http:
更改为
ftp:
——只有在同一主机上安装了ftp服务器并且为相同的文件提供服务时,才能工作

底线是,您只能使用服务器支持的那些协议

见文件:


有几种协议可用于引用package.json中的依赖项:

git, git+ssh, git+http, git+httpsgit+文件

和往常一样,所有协议都有优缺点

不同之处在于,使用
git:
您使用的是本机git协议,而使用
git+https:
您通过https访问git repo(例如,您也可以使用SSH而不是https,但服务器需要支持它)

git协议速度非常快,但缺少身份验证或加密

git+https
非常适合公共回购,它可以与代理和防火墙配合使用,但如果需要身份验证,则需要提供用户名和密码

git+ssh适用于私有repo,因为它使用ssh公钥进行身份验证,无需输入密码

git+文件用于引用您自己文件系统上的回购协议