如何使用私有git服务器(SSH)安装bower包?

时间:2014-07-20 18:59:34

标签: git ssh bower bower-install

编辑this guy do exactly the same with success,无法弄清楚为什么它不适合我。

我刚刚使用公钥/私钥(Centos 6.5)安装了git和设置权限/ SSH身份验证。我能够使用即使拉动/推动没有问题:

git clone git@code.organization.com:projects/boilerplate-template

用户名为git,代码位于/home/git/projects,使用git --init --shared boilerplate-template创建的存储库。

如何在另一个项目中使用Bower boilerplate-template

我试过以下bower.json文件没有运气:

{
    "name": "my/newproject",
    "dependencies": {
        "boilerplate-template": "git://code.organization.com:projects/boilerplate-template"
    }
}
  

ECMDERR :无法执行“git ls-remote --tags --heads   git://code.organization.com:projects / boilerplate-template,退出代码   128   无法查找code.organization.com(端口项目)......

可悲的是它失败了,因为:project不是端口而是路径。我也尝试使用ssh://代替git://

  

ENOTFOUND :套餐   ssh://code.organization.com:找不到projects /样板 - 模板。

8 个答案:

答案 0 :(得分:64)

好的,在这里找到了解决方案:Using Bower as the Package Management tool for Internal, Private Libraries。只需删除git://ssh://并添加.git后缀:

即可
"git@code.organization.com:projects/boilerplate-template.git#~1"

答案 1 :(得分:11)

此外,如果您正在使用Github和Bower作为私人仓库,则可以在需要在远程服务器上运行.netrc时创建bower install文件。

e.g。你有一个DO droplet,需要签出一个使用ssh密钥的git仓库,但需要运行bower install一些私有的deps。如果将.netrc文件添加到远程计算机,则可以进行部署/构建。

// .netrc where someToken is generated in Github under Personal access token
machine github.com
    login userName
    password someToken

答案 2 :(得分:9)

我无法让bower login工作,所以我采用了这种方法。生成<TOKEN> "dependencies": { "your-package": "https://<TOKEN>:x-oauth-basic@github.com/Account/Repository.git" } 。它适用于在Github上托管的私有存储库。

Keywords

答案 3 :(得分:5)

TeamCity在尝试从GitHub下载私人仓库时遇到了这个问题。如果这有助于我们通过使用SSH解决问题,并在bower login之前运行bower install提供GitHub Personal Access Token

bower.json中的示例依赖:

"repository": "git@github.com:Account/Repository.git"

在构建脚本中运行的命令:

bower login -t {GitHub Personal Access Token}
bower install

答案 4 :(得分:3)

转到https://github.com/settings/tokens,生成您的令牌

bower login -t {your token} 

bower install

答案 5 :(得分:1)

如果您从私人仓库进行克隆,则可能会遇到此问题。 接受的答案是正确的,但我想澄清这个问题:

  1. 如果你有机器的github SSH访问权限,请转到git repo并复制“使用SSH克隆”链接,然后将其放在bower.json文件中。

  2. 如果您的计算机上有github的https(登录验证)设置,请复制“使用https克隆”链接,然后将其放在bower.json文件中。 存储库

  3. 实施例: SSH链接:git@github.com:Account/Repository.git HTTPS链接:https://github.com/Account/Repository.git

    Bower.json文件:

    "dependencies": { 
     "repository": "paste SSH/HTTPS clone line here"
    }

答案 6 :(得分:1)

正如其他人所提到的,将包裹位置设置为:

"git@code.organization.com:projects/yourproject.git"

允许bower从git存储库中提取。

如果您在Windows上遇到SSH问题,可以按照以下步骤操作:

  1. 下载PuTTY工具
  2. 使用PuttyGen生成新密钥。
  3. 将私钥保存到用户.ssh文件夹中anything.ppk
  4. 将putty gen中ssh-rsa开头的文本复制到剪贴板
  5. 转到github并Settings -> SSH keys -> Add SSH key给你的密钥一个标题,并将PuttyGen中的文字粘贴到关键部分
  6. 添加名为GIT_SSH的环境变量,其值为Putty工具PLINK.exe的路径,例如C:\Program Files\Putty\PLINK.exe
  7. 运行Putty工具&#34; Pageant.exe&#34;然后将您的anything.ppk密钥添加到分页(您可以使用C:\pathtopageant\pageant.exe C:\Users\myuser\.ssh\anything.ppk添加启动文件夹的快捷方式,以便在启动时自动将密钥添加到分页中)
  8. 打开putty.exe本身,输入您的github enteprise主机名(上例中的code.organization.com)或&#34; github.com&#34;在主机名文本框中单击&#34;打开&#34;。系统可能会提示您信任主机,单击“是”将其添加到known_hosts文件中,因为bower在首次运行时无法执行此操作并且只是挂起
  9. 最后运行bower install

答案 7 :(得分:0)

我结束了跟随,虽然只为私人github回购工作。

  1. 生成Github访问令牌here并将其设置为环境变量GITHUB_TOKEN

  2. .bowerrc中定义速记解析器:

    "shorthand_resolver": "https://${GITHUB_TOKEN}@github.com/{{owner}}/{{package}}.git"
    
  3. 现在我可以将我的依赖项添加为bower install me/my-private-package或将其列在bower.json中:

    "dependencies": {
        "my-private-package": "me/my-private-package"
    }
    
  4. 也适用于Heroku构建。