Compiling failed

Hello, I’m stuck on Part 6 with Rarible Clone Tutorial. When I try to compile the contracts with truffle I get this error.

Compiling your contracts…

Compiling .\contracts\AgoraToken.sol

/G/My Drive/rarible/contracts/contracts/AgoraToken.sol:30:54: ParserError: Expected ‘{’ but got reserved keyword ‘override’
function tokenURI(uint256 tokenId) public view override returns (string memory) {
^--------^

Compilation failed. See above.
Truffle v5.3.1 (core: 5.3.1)
Node v14.16.1

I tried to research and fix the problem, but I cant seem to figured it out.

What version of solidity are you using for the compilation?

This is defined in the truffle-config.js (near the bottom)

	compilers: {
		solc: {
			version: "0.8.0", // Fetch exact version from solc-bin (default: truffle's version)
			// docker: true,        // Use "0.5.1" you've installed locally with docker (default: false)
			// settings: {          // See the solidity docs for advice about optimization and evmVersion
			//  optimizer: {
			//    enabled: false,
			//    runs: 200
			//  },
			//  evmVersion: "byzantium"
			// }
		},
	},

Make sure it is version 0.6.0 or higher when using the override keyword. I think that the rarible clone project uses version 0.8.0 (since the openzeppelin contracts are version 0.8.0).

Note: also make sure that your contracts use the same pragma. For example when using 0.8.0:

pragma solidity ^0.8.0;