How to install a bower package using a private git server (SSH)?
EDIT: this guy do exactly the same with success, can't figure out why it's not working for me.
I've just installed git
and setup permissions/SSH authentication with public/private key (Centos 6.5). I'm able to pull/push without problems using i.e.:
git clone [email protected]:projects/boilerplate-template
Username is git
, code placed in /home/git/projects
, repository created with git --init --shared boilerplate-template
.
How can I require boilerplate-template
with Bower in another project?
I've tried with the following bower.json file without luck:
{
"name": "my/newproject",
"dependencies": {
"boilerplate-template": "git://code.organization.com:projects/boilerplate-template"
}
}
ECMDERR: Failed to execute "git ls-remote --tags --heads git://code.organization.com:projects/boilerplate-template, exit code 128 unable to lookup code.organization.com (port project)...
Sadly it fails because :project
is not the port but the path. I've also tried with ssh://
instead of git://
:
ENOTFOUND: Package ssh://code.organization.com:projects/boilerplate-template not found.
Ok, found the solution here: Using Bower as the Package Management tool for Internal, Private Libraries. Simply remove git://
or ssh://
and add .git
suffix:
"[email protected]:projects/boilerplate-template.git#~1"
Also, if you're using Github and Bower for a private repo you can create a .netrc
file if you need to run bower install
on a remote server.
e.g. You have a DO droplet and need to checkout a git repo that uses ssh keys, but needs to run bower install
with some deps that are private. If you add the .netrc
file to your remote machine you will be good to go for deploys/builds.
// .netrc where someToken is generated in Github under Personal access token
machine github.com
login userName
password someToken
I had trouble getting bower login
working, so I went with this approach. <TOKEN>
is generated here. It works for private repositories hosted on Github.
"dependencies": {
"your-package": "https://<TOKEN>:[email protected]/Account/Repository.git"
}
TeamCity had this issue for us when trying to download a private repo from GitHub. In case this helps anyone we solved it by using SSH and providing a GitHub Personal Access Token by running bower login
before bower install
:
Example dependency in bower.json:
"repository": "[email protected]:Account/Repository.git"
Commands to run within build script:
bower login -t {GitHub Personal Access Token}
bower install