Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

How can I install an npm package from my bitbucket repository?

How can I install an npm package from my bitbucket repository?

4 answers

8 votes
Ana Retamal Atlassian Team Mar 19, 2018

Hi Robert!

You can do that by typing 

npm install git+ssh://git@bitbucket.org/{user}/{repository}.git

I also found a blog that might be useful for you: npm install modules from Bitbucket private repositories.

Hope that helps!

Ana

Is not working for me... 

If my ssh has a passphrase, npm is stuck without any prompt to enter passphrase or throwing an error. If I try to use https, npm throws  "To make a call, you need to use an app password." If I create an app password I cannot do it for each project and that makes all my projects visible with the password. Do you have any other alternatives in this scenario?

I solved the above issue by using ssh with a passphrase. When npm install is stuck without any prompt, I just enter the passphrase for my ssh file and it works as expected. If entering your passphrase first time didn't work, try entering it multiple times (max 3 times).

can also use ssh-agent to avoid passphrase during npm install

what other form of authentication apart from SSH is allowed to access the package?

The "proper" way to do this (if not using a private package repository) is to use https authentication instead of ssh. Create a deploy key for the repository you wish to use as a dependency and put that into your "package.json" like so

git+https://<deploy_token_user>:<deploy_user_password>@bitbucket.com/<user>/<repo>[#<version>]
  1. i Add "mymodule": "git+https://bitbucket.org/cname/mymodule.git" to dependencies within my project 
  2.  run npm install, they prompt a dialog to enter username and pass
  3. Voila! works

 

I suppose you may need to create ssh key and add it to your bitbucket settings in case your module is private 

It works for me, but when running `npm install` or `npm update` any package that has been installed using the suggested way gets removed. It's annoying because it's really easy to miss since you have to scan package-lock.json for the change.

EDIT: For clarity, the repos that this is happening with are private (but I can initially install etc, so I do have access via git)

Adam, try adding -S (for dependency) or -D (for devDependency).

npm install -S git+ssh://git@bitbucket.org/{user}/{repository}.git

That will save the dependency to your package.json so next time you install it should not get removed.

Right, but that's not what's happening. Like I said, the package gets removed from the lockfile when running `npm install` (and it would never have been in the lockfile if I hadn't used -S or -D). I've never seen this happen with any other package, so I'm guessing that it has to do with Bitbucket.

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Bitbucket

New improvements to user management in Bitbucket Cloud 👥

Hey Community! We’re willing to wager that quite a few of you not only use Bitbucket, but administer it too. Our team is excited to share that we’ll be releasing improvements throughout this month of...

3,749 views 10 16
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you