rewardenv / reward

Reward is a Swiss Army knife CLI utility for orchestrating Docker based development environments.
https://rewardenv.readthedocs.io
MIT License
89 stars 13 forks source link

Error: invalid number of endpoint URLs provided #18

Closed Chris-Kiddier closed 2 years ago

Chris-Kiddier commented 2 years ago

I was originally trying to get my own Magento installation up and running but hit this same error: Error: invalid number of endpoint URLs provided So I tried a vanilla start (windows 11 Empty Magento 2 Project with bootstrap command) and hit this same error after running the reward bootstrap --with-sampledata command.

I'm assuming I've missed something pretty obvious, I'm migrating from WinNMP, which is very hand holding compared to this haha. Willing to learn, just stuck, any ideas?

Chris-Kiddier commented 2 years ago

INFO[2022-03-14T19:31:39Z] Syncing environment with mutagen... Error: invalid number of endpoint URLs provided Error: exit status 1

This is what I see when running env up following the manual initialization on the docs, if that is any more help

janosmiko commented 2 years ago

Hi @Chris-Kiddier !

I was able to reproduce your issue, it's related to the whitespace character in your working directory path (F:\Dev Work\). Under the hood Reward calls Mutagen to set up a sync session. Running Reward in debug mode it shows it's trying to run mutagen with these arguments / flags:

DEBUG[2022-03-15T11:21:10+01:00]common.go:842 github.com/rewardenv/reward/internal/core.RunOsCommand() Running command: cmd /c mutagen sync create -c C:\Users\mixe3y\Workspace\test 2\m22\.reward\mutagen.yml --label reward-sync=m22  C:\Users\mixe3y\Workspace\test 2\m22/ docker://06d198f8ba2b7cf2ab61f25c7cfaf01bb8fa4406fc616896653ac87a27664e04/var/www/html
Error: invalid number of endpoint URLs provided

According to this, mutagen thinks that we are calling it with three endpoint URLs:

I assume I'll have to escape that whitespace in the path. I think I'll be able to fix this tomorrow by creating a new release.

Chris-Kiddier commented 2 years ago

Hi @janosmiko ! Thanks for the quick reply and quick diagnosis. Appreciate your hard work and look forward to playing around with this awesome bit of kit.

Cheers

Chris-Kiddier commented 2 years ago

Something to add on to this, whilst waiting for the update I thought I'd try a test folder structure with no spaces, it still failed.

However, after some searching on the Mutagen issues GH I found that for Windows I needed the mutagen.exe (as described in documents) and also the mutagen-agents.tar.gz in the same folder.

This can be found in the mutagen_windows_arm64_v0.13.1.tar.gz file (on the Mutagen downloads section). After 7zipping I was able to extract the agents.tar.gz and place it in the same directory as the mutagen.exe path file. Now I have a working environment.

This might be common knowledge to many, but it's good to know if any one else gets stuck on steps after the fix. Every day is a school day, after all. Chris

janosmiko commented 2 years ago

Yes that's a requirement for mutagen to work. You can find an FAQ/Frequent Errors section where you can find answers to some error messages: https://rewardenv.readthedocs.io/en/latest/faq.html#frequent-errors

janosmiko commented 2 years ago

Hi @Chris-Kiddier !

I released a new version which should fix this issue.

Please test it and let me know if it works as expected.

Chris-Kiddier commented 2 years ago

Hi @janosmiko

I used the reward self-update, restarted and tried a fresh install (based on the Empty Mage tut) on the same drive. I got to bootstrapping again but this time I hit a different error.

INFO[2022-03-16T21:24:42Z] Syncing environment with mutagen... Error: unable to load configuration file: unable to load file: open "F:\Dev Work\Reward\your-awesome-m2-project\.reward\mutagen.yml": The filename, directory name, or volume label syntax is incorrect. Error: exit status 1

Knowing I can change the folder naming was very useful and have been experimenting with it on a different folder path. It will make a great dev environment!

Chris-Kiddier commented 2 years ago

Interestingly, I rolled back to the previous version as the latest update stopped my functioning reward setup from working. This was just under F:\Dev\your-awesome-m2-project - no spaces this time. I got the same message above with the latest update

janosmiko commented 2 years ago

Super weirdo working mechanism difference between windows cmd and mac/linux shell..

It should be fixed in https://github.com/rewardenv/reward/commit/d485ba093ee049f44bee4a11208581f135dec7b6.

@Chris-Kiddier could you run reward self-update --force please and test if it's working as expected?

Chris-Kiddier commented 2 years ago

Looks good! Session connected and I'm up and running.

Really appreciate it, coffee on the way @janosmiko

janosmiko commented 2 years ago

I'm really happy to hear it works!

Also I really appreciate the coffee! ☕️