Skip to content
Matej Simek edited this page Aug 14, 2018 · 17 revisions

Common questions and troubles

How to upgrade or reinstall the mango-cli

Because of native dependencies update often breaks and the best way is to install a fresh copy

npm uninstall -g mango-cli
npm install -g mango-cli

Installation failed first time, then worked but mango build doesn't

You didn't complete the installation properly. Please reinstall.

I did update Node.js and mango-cli doesn't work

Different Node versions aren't binary compatible (yet) so all native dependencies will break and need to be recompiled against used version. The quickest way is to reinstall mango-cli after every Node update.

Example error message (different Node.js version and OS type):

Message:
    Missing binding mango-cli/node_modules/node-sass/vendor/linux-x64-57/binding.node
Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 8.x

Found bindings for the following environments:
  - Windows 64-bit with Node.js 9.x

Common problems during installation

Error: Can't find Python executable "python", you can set the PYTHON env variable.

Required system dependencies are missing, consult the Requierements section in the README.

How to use multiple versions of mango-cli

Just choose one of these:

Errors

JavaScript runtime

Uncaught ReferenceError: require is not defined

You're probably mixing ES modules import, export with CommonJS require() together, which is not supported. Please use only one system. We prefer the ES modules as it's a standard.

Uncaught ReferenceError: regeneratorRuntime is not defined

Async functions and generators are great, but they still needs a polyfill to work. Include babel-polyfill before your main application script on a CDN like so:

<script defer src="https://cdnjs.cloudflare.com/ajax/libs/babel-polyfill/6.26.0/polyfill.min.js"></script>
<script defer src="/scripts/index.js"></script>

Templates

Detect a page in a layout template

You can pass a variable up to the layout from a page template. Basic example...