使用Npm从github安装特定分支

Sac*_*hin 126 github npm-install

我想使用npm在我的项目中从github安装bootstrap-loader

目前,他们正在维护这个项目的两个版本,这个版本可与webpack版本1和2一起使用.

我想安装版本1.我应该使用什么npm命令来安装它?

我尝试使用下面的一个,但它不起作用.

npm install git://github.com/shakacode/bootstrap-loader.git[#v1] --Save 
Run Code Online (Sandbox Code Playgroud)

les*_*est 205

您尝试的命令中有额外的方括号.

要从v1分支机构安装最新版本,您可以使用:

npm install git://github.com/shakacode/bootstrap-loader.git#v1 --save
Run Code Online (Sandbox Code Playgroud)

  • 如果我们必须附加特定版本.那怎么会跟分支一起? (5认同)
  • 有关信息,github 已删除 [git:// procotol](https://github.blog/2021-09-01-improving-git-protocol-security-github/#no-more-unauthenticated-git),因此您不能再使用这个方法了。你应该省略协议并让 npm 检测到它是一个 github 存储库(请参阅下面的答案:`npm install username/repo#branchName --save`) (5认同)
  • 如果你想安装特定的comit,你可以这样做:`npm install https://github.com/username/package#3d0a21cc` 其中`3d0a21cc`是提交哈希的前八个字符。我[在这里]找到了这个答案(/sf/answers/3609215081/) (3认同)
  • @Md_ZubairAhmed在他的示例中,分支名称恰好被命名为“ v1”-可以命名为“ my-branch”之类的其他名称,并且行为方式相同。 (2认同)

Xin*_*Xin 41

做就是了:

npm install username/repo#branchName --save
Run Code Online (Sandbox Code Playgroud)

例如

npm i betimer/rtc-attach#master --save

// and what will appear in your package.json will be:
"rtc-attach": "github:betimer/rtc-attach#master"
Run Code Online (Sandbox Code Playgroud)

我还想提一件事:检查package.json中的构建服务器自动提取更改并不是一个好主意.相反,将npm i(first)命令放入build命令,让服务器只安装并替换包.

  • 这种方法似乎比公认的答案更简单 (3认同)

mkg*_*mkg 28

你可以给git模式作为版本,纱线和npm足够聪明,可以从git repo解决.

yarn add any-package@user-name/repo-name#branch-name
Run Code Online (Sandbox Code Playgroud)

或者对于npm

npm install --save any-package@user-name/repo-name#branch-name
Run Code Online (Sandbox Code Playgroud)


Hil*_*hka 8

另一种方法是将以下行添加到package.json依赖项中:

"package-name": "user/repo#branch"
Run Code Online (Sandbox Code Playgroud)

例如:

"dependencies": {
    ... other dependencies ...

    "react-native": "facebook/react-native#master"
}
Run Code Online (Sandbox Code Playgroud)

然后做npm installyarn install


Est*_*rai 5

我正在使用 SSH 来验证我的 GitHub 帐户,并在我的项目中安装了几个依赖项,如下所示:

"dependencies": {
  "<dependency name>": "git+ssh://git@github.com/<github username>/<repository name>.git#<release version | branch>"
}
Run Code Online (Sandbox Code Playgroud)


use*_*679 5

必须将 url 放在引号中才能工作

npm install "https://github.com/shakacode/bootstrap-loader.git#v1" --save
Run Code Online (Sandbox Code Playgroud)