title: How to compile older zeppelin-solidity contract implementations
body: <p>I installed zeppelin-solidity package using npm, to use the erc-721 contract.</p>
  
  <p>But the problem is that when I use truffle compile, it gives the following error:</p>
  
  <pre><code>/Users/me/dev/myfolder/erc721/node_modules/zeppelin-solidity/contracts/token/ERC721/ERC721Token.sol:1:1: ParserError: Source file requires different compiler version (current compiler is 0.5.16+commit.9c3226ce.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
  pragma solidity ^0.4.24;
  ^----------------------^
  
  Error: Truffle is currently using solc 0.5.16, but one or more of your contracts specify "pragma solidity ^0.4.24".
  Please update your truffle config or pragma statement(s).
  (See https://truffleframework.com/docs/truffle/reference/configuration#compiler-configuration for information on
  configuring Truffle to use a specific solc compiler version.)
  </code></pre>
  
  <p>Compilation failed. See above.</p>
  
  <p>Some answers I saw are suggesting to bump up the pragma solidity to 0.5, but how can i change the version  in an included file?</p>
  
  <p>Also if this contract is old should i be using it, or are there better implementations of erc721 available?</p>
  
  <p>UPDATE:
  I have tried changing the solc compiler as below, but still the error persists:</p>
  
  <pre><code>compilers: {
      solc: {
          version: "^0.4.24",
          //parser: "solcjs",
          optimizer: {
              enabled: true,
              runs: 200
          }
      }
    }
  </code></pre>