Unable to determine suitable edition, as none were suitable.


No Suitable Editions?

In trying to compile a CSS framework I work with from time to time I ran into the following error set of error messages when running the gulp build tasks:

Error: editions-autoloader-none-broadened: Unable to determine a suitable edition, even after broadening.

Error: editions-autoloader-none-suitable: Unable to determine a suitable edition, as none were suitable.

Error: editions-autoloader-edition-incompatible: editions-autoloader-edition-incompatible: The edition [TypeScript source code made to be compatible with Deno] is not compatible with this environment.

Error: editions-autoloader-edition-incompatible: editions-autoloader-edition-incompatible: The edition [TypeScript compiled against ES2019 for Node.js 12 || 14 || 15 with Import for modules] is not compatible with this environment.

Error: editions-autoloader-edition-incompatible: editions-autoloader-edition-incompatible: The edition [TypeScript compiled against ES2019 for Node.js 10 || 12 || 14 || 15 with Require for modules] is not compatible with this environment.

Error: editions-autoloader-edition-incompatible: editions-autoloader-edition-incompatible: The edition [TypeScript compiled against ESNext for Node.js 14 || 15 with Require for modules] is not compatible with this environment.

Error: editions-autoloader-edition-incompatible: editions-autoloader-edition-incompatible: The edition [TypeScript compiled against ES2019 for web browsers with Import for modules] is not compatible with this environment.

To fix this (at least in my limited case) I choose to use the ignore-engines command in yarn. Whether this works or not will be specific to the code that you're working with (in my case, it worked). Package authors have the ability to specify which node versions are required for their code to work. Ignoring this runs the risk that a version of a package might be installed that is incompatible with code base. Proceed knowing that.

 yarn config set ignore-engines true

Another solution would be to use a utility like Node Version Manager (NVM) which gives you the ability to switch versions of node on the fly. NVM is not without it's own issues but it is a capable utility.