Melkeydev / go-blueprint

Go-blueprint allows users to spin up a quick Go project using a popular framework
https://docs.go-blueprint.dev/
MIT License
5.94k stars 335 forks source link

[Bug] Create command stuck on "Preparing..." #189

Closed Owbird closed 9 months ago

Owbird commented 9 months ago

What is the problem?

Tried on two different machines however the command go-blueprint create gets stuck on "Preparing..." with the spinner. While at it, a go.mod file is created with the package name and go version. My internet connection is fine.

Operating System

Zorin OS 16.3

Architecture Version (x86, x64, arm, etc)

x64

Steps to reproduce

go-blueprint create --name my-project --framework gin --driver none

Relevant log output

No response

Ujstor commented 9 months ago

hm, interesting... What Go version do you have? On my end, there is no such issue

Owbird commented 9 months ago

1.22.0

Ujstor commented 9 months ago

Without errors, it is hard to know why this issue is occurring. Until now, this is the first time that somebody has reported this kind of bug. I can only assume that it is somehow OS-related.

Owbird commented 9 months ago

Okay so i ran a local build and it seems it hangs at the go get -u <package> command. It runs successfully if i change it to just go get <package> Also, after manually installing gin, it no longer hangs since i think its cached Running go clean -modcache brings back the issue

Ujstor commented 9 months ago

I think there is some problem on your end. I tried to reproduce the bug in a Golang Docker container, and as you can see, the latest blueprint version works:

 docker run --rm -it golang:1.22 bash
root@798f524a8b20:/go# go install github.com/melkeydev/go-blueprint@latest
go: downloading github.com/melkeydev/go-blueprint v0.5.7
go: downloading github.com/charmbracelet/lipgloss v0.9.0
go: downloading github.com/spf13/pflag v1.0.5
go: downloading github.com/charmbracelet/bubbles v0.16.1
go: downloading github.com/charmbracelet/bubbletea v0.24.2
go: downloading github.com/spf13/cobra v1.7.0
go: downloading github.com/mattn/go-localereader v0.0.1
go: downloading github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81
go: downloading github.com/mattn/go-isatty v0.0.18
go: downloading golang.org/x/term v0.6.0
go: downloading golang.org/x/sync v0.1.0
go: downloading github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b
go: downloading github.com/muesli/termenv v0.15.2
go: downloading github.com/muesli/reflow v0.3.0
go: downloading github.com/muesli/cancelreader v0.2.2
go: downloading github.com/mattn/go-runewidth v0.0.15
go: downloading github.com/atotto/clipboard v0.1.4
go: downloading golang.org/x/sys v0.12.0
go: downloading github.com/rivo/uniseg v0.2.0
go: downloading github.com/aymanbagabas/go-osc52/v2 v2.0.1
go: downloading github.com/lucasb-eyer/go-colorful v1.2.0
root@798f524a8b20:/go# git config --global user.name "test"
root@798f524a8b20:/go# git config --global user.email "[youremail@yourdomain.com]"
root@798f524a8b20:/go# go-blueprint create --name my-project --framework gin --driver none

 ____  _                       _       _   
|  _ \| |                     (_)     | |  
| |_) | |_   _  ___ _ __  _ __ _ _ __ | |_ 
|  _ <| | | | |/ _ \ '_ \| '__| | '_ \| __|
| |_) | | |_| |  __/ |_) | |  | | | | | |_ 
|____/|_|\__,_|\___| .__/|_|  |_|_| |_|\__|
                   | |                     
                   |_|                     

            ..
 Next steps:
 • cd into the newly created project with: `cd my-project`

root@798f524a8b20:/go# cd my-project/
root@798f524a8b20:/go/my-project# ls -la
total 64
drwxr-x--x 6 root root 4096 Feb 22 17:26 .
drwxrwxrwt 1 root root 4096 Feb 22 17:26 ..
-rw-r--r-- 1 root root  818 Feb 22 17:26 .air.toml
-rw-r--r-- 1 root root   24 Feb 22 17:26 .env
drwxr-xr-x 8 root root 4096 Feb 22 17:26 .git
-rw-r--r-- 1 root root  357 Feb 22 17:26 .gitignore
-rw-r--r-- 1 root root  837 Feb 22 17:26 Makefile
-rw-r--r-- 1 root root  713 Feb 22 17:26 README.md
drwxr-x--x 3 root root 4096 Feb 22 17:26 cmd
-rw-r--r-- 1 root root 1385 Feb 22 17:26 go.mod
-rw-r--r-- 1 root root 8322 Feb 22 17:26 go.sum
drwxr-x--x 3 root root 4096 Feb 22 17:26 internal
drwxr-x--x 2 root root 4096 Feb 22 17:26 tests
root@798f524a8b20:/go/my-project# 

With this approach, I want to exclude bugs that could happen on the latest release

Owbird commented 9 months ago

Oh okay. Thank you very much.