Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bun install fails for private SSH git repo that definitely exists #12257

Open
jonblatho opened this issue Jun 30, 2024 · 1 comment
Open

bun install fails for private SSH git repo that definitely exists #12257

jonblatho opened this issue Jun 30, 2024 · 1 comment
Assignees
Labels
bug Something isn't working npm Something that relates to the npm-compatible client

Comments

@jonblatho
Copy link

jonblatho commented Jun 30, 2024

What version of Bun is running?

1.1.17+bb66bba1b

What platform is your computer?

Darwin 23.5.0 arm64 arm

What steps can reproduce the bug?

  1. Add a private SSH Git repository dependency in package.json, e.g. "my_module": "git+ssh://my.gitlab.instance.com/path/to/repo.git#some-tag"
  2. Attempt bun install.
  3. Change the dependency URL to git+ssh://git@my.gitlab.instance.com/path/to/repo.git#some-tag
  4. Reattempt bun install

What is the expected behavior?

Git repository should be cloned over SSH successfully.

What do you see instead?

It depends.

If I do not include the username git in the dependency URL — it should be used anyway on that hostname, per my ~/.ssh/config file — cloning the repository fails with the following message:

error: "git clone" for "my_module" failed

error: RepositoryNotFound cloning repository for my_module

If I add the username git into the URL as suggested in step 3 above, the package manager seems to hang. Here's about two minutes' worth of bun install --verbose output, which might be important with the variable number of Resolving [1/1] lines between lines that don't include that:

bun install v1.1.17 (bb66bba1)
Loaded 277 hoisted_dependencies
Loaded 511 resolutions
Loaded 511 dependencies
Loaded 0 extern_strings
Loaded 22452 string_bytes
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
[PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
[PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
[PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
[PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
[PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
[PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
[PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
[PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
[PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
[PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
[PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
[PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
[PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
[PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
[PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
[PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
[PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
[PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
[PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
[PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
[PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks
  🔍 Resolving [1/1] [PackageManager] waiting for 1 tasks

I killed it manually because it shouldn't take that long to clone this rather small repo. I've been able to find workarounds generally for private Git repo issues, but I've yet to find one for this one.

Additional information

The repository it's trying to load definitely exists. Yarn and NPM are able to install the above without issue, and git clone for the repository over SSH works perfectly. Removing the tag portion of the URL doesn't help.

My ~/.ssh/config file instructs SSH to use the user git with this hostname by default, e.g.:

Host my.gitlab.instance.com
  User git

so specifying git@ in the URL shouldn't be necessary and definitely shouldn't cause differing behavior.

@jonblatho jonblatho added bug Something isn't working needs triage labels Jun 30, 2024
@Jarred-Sumner Jarred-Sumner added npm Something that relates to the npm-compatible client and removed needs triage labels Jun 30, 2024
@jonblatho
Copy link
Author

jonblatho commented Jun 30, 2024

Ahh, quick update — when I thought it was hanging, it wasn't. I was running this in the VS Code terminal and it was prompting me for an HTTP password at the top of the window where it failed to catch my eye. It's not being resolved as SSH.

@jonblatho jonblatho changed the title bun install hangs or fails for private SSH git repo that definitely exists bun install fails for private SSH git repo that definitely exists Jun 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working npm Something that relates to the npm-compatible client
Projects
None yet
Development

No branches or pull requests

3 participants