[SOLVED] Trouble programming an Arduino Leonardo-alike

I have a board which is I believe a clone of the SparkFun Arduino Pro Micro, but it presents itself as an Arduino Leonardo. Both use a ATmega32U4.

I'm running the latest Arduino IDE 1.8.10 on a beta of macOS 10.15.0 Catalina. The latest version of the Arduino IDE is supposed to address compatibility problems with Catalina.

When I plug the board in via USB, a serial device appears for a few seconds, but then disappears. If I try to program it during this brief window, I get:

avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_drain(): read error: Device not configured
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
Found programmer: Id = ""; type = 
    Software Version = .; Hardware Version = .
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
the selected serial port avrdude: butterfly_recv(): programmer is not responding
 does not exist or your board is not connected
avrdude: error: buffered memory access not supported. Maybe it isn't
a butterfly/AVR109 but a AVR910 device?
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: leave prog mode
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: exit bootloader
avrdude: ser_close(): can't reset attributes for device: Device not configured

I've also tried using a Linux virtual machine but I think the USB to VM bridge gets confused, and also does not work.

Is there something else to try?

I used a Bus Pirate to reprogram the software using AVR ISP, and the following command:

/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C /Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -c buspirate -p m32u4 -P /dev/cu.usbserial-etc -U flash:w:4pack.ino.with_bootloader.leonardo.hex:i

Did that solve your problem?

Yes, it did. Sorry, I should have clarified.

I'm glad to hear it's working now. Thanks for taking the time to post an update with your solution. Enjoy!
Per