Problems and Solutions
Building TerriaMap (without yarn workspaces) throws an error like:
You have two copies of terriajs-cesium
npm list terriajs-cesium
If there are 2 different versions listed, run:
If there's only 1 version listed in 2 places your npm lockfile is playing up. To fix it run:
npm install --save-exact terriajs npm dedupe npm install
When using yarn workspaces to develop a TerriaMap against a custom version of terriajs
yarn install throws error
An unexpected error occurred: "expected workspace package to exist for \"pkg-dir\""
or a similar error with a different package. Sometimes yarn versions after firstname.lastname@example.org will cause an error when running yarn install using workspaces. The Github issue describing it https://github.com/yarnpkg/yarn/issues/7807 has comments saying it’s caused by a workspace trying to install a different version of the same dependency.
Easiest fix is to install dependencies using an older version of yarn:
npx email@example.com install
It’s possible the problem could also be fixed in certain cases by syncing dependency versions for the same package, and ensuring that a workspace doesn’t install the same dependency but with a different version. Syncing dependencies could help:
TerriaJS app is accessible at
http://localhost:3001 but it does not render a map.
The default TerriaJS configuration uses Cesium Ion for serving some of its basemaps. If the Cesium Ion access token has expired then these basemaps will fail to render. We recommend that you register and use your own Cesium Ion access token. Please see the documentation on client side configuration for configuring your access token. Also note that it is a violation of the Ion terms-of-use to use the default key in a deployed application.