I'm trying to deploy my project to Kovan and the initial deployment tx reverted, but any attempt to deploy again is stopped by this error. Shouldn't the fact that my initial tx failed remove it from the tx pool and prevent this error? How do I fix this?
Shouldn't the fact that my initial tx failed remove it from the tx pool and prevent this error?
Not if your transaction is reverted. Failed transactions are also recorded in the blockchain. Gas will be spend during validation and the fees should go to the block's miner.
Example of a failed transaction on Kovan is here.
However if your transaction never made it into a block due to low fees then you can resend the same transaction with a higher GasPrice.
How do I fix this?
You can find out why your transaction failed and create a new transaction rectifying the issue(s) and incrementing your nonce and submit this new transaction. To find out what went wrong with the transaction, you can check in the explorer with your transaction hash.
It may help if you've included a little more information such as; what development framework you are using, remix ide or not, deploying through wallet or web3 instance or is it an online contract deployer? If you check the tx hash you are speaking of, on the block explorer, is it still there? Is there any code dependent on the tx hash or maybe trying to specify a nonce manually?