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

Config process fails on windows #1793

Open
ArtificialIntelliGents opened this issue Dec 7, 2024 · 0 comments
Open

Config process fails on windows #1793

ArtificialIntelliGents opened this issue Dec 7, 2024 · 0 comments

Comments

@ArtificialIntelliGents
Copy link

The config script process failed in multiple ways when I tried to execute it.
I was putting together a pull request but noticed there were likely other errors and decided someone with more familiarity would need to address and redesign the configuration process. I can't say how deep the rabbit hole goes, and can't say I'd be able to get the project to work.

I am using VSCode on Windows 11.
I have been learning the basics for a few weeks and decided to take things to the next level.
I am able to edit and run a basic scaffold project, so my basic environment is probably fine.

  • The first error presented to me was In setup_github.rb. Line 26 fails because the command needs to be "start" for windows.
    • I was able to correct this issue with :
elsif Gem::Platform.local.os == "mingw"
      "start"
  • This created a problem where the configuration failed part way through and continued to fail because the README.example.md file was delete.
    • This can be fixed with :
if !File.file?(file)
    return
  end
    • At minimum the documentation should mention that any failure in the process requires the user to reclone the repo and start over.
    • ideally the config process should track the progress and write any input to a temp file, allowing the configuration to be continued in case of a failure.
    • But if that is outside the scope of the project file existence should be checked before manipulation.
  • It also created a problem where the repo was created on GitHub and checked in locally, but the process continued to ask me if I wanted to create a repo and commit changes.
    • this created a weird state where HTTP_PATH would not be defined when I wanted to add a render deploy button because I would chose not to create a github repo.
    • I got around that by changing deploy_button_render.rb
new_repo_link = if defined?(SETUP_GITHUB) && defined?(HTTP_PATH)

At this point I was able to complete the configuration.
But have no idea if it is correctly configured.

I then took a look around the folder and saw the check_yarn.rb file and didn't remember the configuration process checking for Yarn.
I don't think the following works on windows.

if `yarn -v 2> /dev/null`.length > 0

Anywhere that checks for an installed file should have a windows specific check.
I think the following would be correct,

command = if Gem::Platform.local.os == "mingw" ? "where.exe Yarn > NUL 2>&1" : "yarn -v 2> /dev/null"
if `#{command}`.length > 0
  puts "Yarn is installed.".green
else

I'm new to rails so I'm not familiar with cross platform support,and without a mac I can't claim any of my changes are correctly written for cross platform compatibility. Being new to rails means I can't confirm if the configuration is in a valid state, so any more research and edits done by me would likely be futile. If the I didn't spend the last 2 hours running into problems I would have been more confident to make a PR. Without the ability to know I am in a stable environment I am not willing to move forward with making a fix,

Additionally I ran into a problem yesterday, where I can't install the bullet_train gem because charlock_holmes won't install. The only instructions available in your documents require using homebrew, which isn't cross platform as far as I am aware. So I wouldn't be able to use the gem in place of the repo either.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant