Plone 6 Volto generate app - Cannot find module 'is-ci'

This question is related to Plone 6, specifically when attempting to create a new Volto app.

Following this documentation (volto/packages/generator-volto at master · plone/volto · GitHub) I am attempting to generate a new Volto project using Yeoman.

I have the prerequisites installed. I've included some versions of the more front end related requirements below:

root@ps01:/opt/plone_test/myvoltoapp# nvm version
v16.18.1
root@ps01:/opt/plone_test/myvoltoapp# npm -v
8.19.2
root@ps01:/opt/plone_test/myvoltoapp# node -v
v16.18.1
root@ps01:/opt/plone_test/myvoltoapp# yo --version
4.3.1
root@ps01:/opt/plone_test/myvoltoapp# yarn -v
1.22.19

When attempting to run yo @plone/volto I receive the following error:

root@ps01:/opt/plone_test/myvoltoapp# yo @plone/volto
node:internal/modules/cjs/loader:988
  throw err;
  ^

Error: Cannot find module 'is-ci'
Require stack:
- /root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/node_modules/update-notifier/index.js
- /root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/lib/cli.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:985:15)
    at Function.Module._load (node:internal/modules/cjs/loader:833:27)
    at Module.require (node:internal/modules/cjs/loader:1057:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at lazy (/root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/node_modules/import-lazy/index.js:2:51)
    at /root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/node_modules/import-lazy/index.js:10:11
    at new UpdateNotifier (/root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/node_modules/update-notifier/index.js:46:4)
    at module.exports (/root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/node_modules/update-notifier/index.js:183:25)
    at updateCheck (/root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/lib/cli.js:54:20)
    at Object.<anonymous> (/root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/lib/cli.js:187:1) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/node_modules/update-notifier/index.js',
    '/root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/lib/cli.js'
  ]
}

I can confirm I do have is-ci installed (although globally) and root has access to the folder.

root@ps01:/opt/plone_test/myvoltoapp# ls -lha /root/.nvm/versions/node/v16.18.1/lib/node_modules
total 28K
drwxr-xr-x 7 root root 4.0K Nov 10 11:04 .
drwxr-xr-x 3 1001 1001 4.0K Nov  4 11:33 ..
drwxr-xr-x 4 root root 4.0K Nov  4 11:33 corepack
drwxr-xr-x 3 root root 4.0K Nov  9 20:07 is-ci
drwxr-xr-x 7 root root 4.0K Nov  4 11:33 npm
drwxr-xr-x 3 root root 4.0K Nov 10 11:04 @plone
drwxr-xr-x 4 root root 4.0K Nov 10 11:04 yo

I'm not really sure where to go from here, if anyone has any information or can point me in the right direction I would greatly appreciate it.

Thanks in advance.

This is a copy of my SO question here:

I've posted it here to hopefully increase visibility.

When you ran the cookiecutter, what versions were installed of Volto and other packages?

Hi @stevepiercy

Here's the output of cookiecutter in its entirety as it doesn't look like it gets that far (I'm intending to use the non-Docker route if that makes any difference: Install Plone from its packages – Install — Plone Documentation v6.0-dev)

================================================================================
Project Title generation
================================================================================
Running sanity checks
  - Python: ✓
  - Node: ✓
  - yo: ✓
  - Docker: Docker not found.
  - git: ✓

Summary:
  - Plone version: 6.0.0rc2
  - Volto version: 16.3.0
  - Volto Generator version: 6.1.2
  - Output folder: /opt/plone_test_6.1/project-title

Frontend codebase:
 - Installing @plone/generator-volto@6.1.2

 - Generate frontend application with @plone/volto 16.3.0
There was an error, see /opt/plone_test_6.1/plone_starter_error.log for details
ERROR: Stopping generation because post_gen_project hook script didn't exit successfully
Hook script failed (exit status: 1)

plone_starter_error.log contents:

root@ps01:/opt/plone_test_6.1# cat /opt/plone_test_6.1/plone_starter_error.log
node:internal/modules/cjs/loader:988
  throw err;
  ^

Error: Cannot find module 'is-ci'
Require stack:
- /root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/node_modules/update-notifier/index.js
- /root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/lib/cli.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:985:15)
    at Function.Module._load (node:internal/modules/cjs/loader:833:27)
    at Module.require (node:internal/modules/cjs/loader:1057:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at lazy (/root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/node_modules/import-lazy/index.js:2:51)
    at /root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/node_modules/import-lazy/index.js:10:11
    at new UpdateNotifier (/root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/node_modules/update-notifier/index.js:46:4)
    at module.exports (/root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/node_modules/update-notifier/index.js:183:25)
    at updateCheck (/root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/lib/cli.js:54:20)
    at Object.<anonymous> (/root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/lib/cli.js:187:1) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/node_modules/update-notifier/index.js',
    '/root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/lib/cli.js'
  ]
}

I get the same error if I use the versions shown on the documentation, although this cookiecutter includes Volto Generator and not just Volto.

================================================================================
Project Title generation
================================================================================
Running sanity checks
  - Python: ✓
  - Node: ✓
  - yo: ✓
  - Docker: Docker not found.
  - git: ✓

Summary:
  - Plone version: 6.0.0b2
  - Volto version: 16.0.0-alpha.35
  - Volto Generator version: 6.1.2
  - Output folder: /opt/plone_test_2/project-title

Frontend codebase:
 - Installing @plone/generator-volto@6.1.2
 - Generate frontend application with @plone/volto 16.0.0-alpha.35
There was an error, see /opt/plone_test_2/plone_starter_error.log for details
ERROR: Stopping generation because post_gen_project hook script didn't exit successfully
Hook script failed (exit status: 1)
root@ps01:/opt/plone_test_2# cat /opt/plone_test_2/plone_starter_error.log
node:internal/modules/cjs/loader:988
  throw err;
  ^

Error: Cannot find module 'is-ci'
Require stack:
- /root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/node_modules/update-notifier/index.js
- /root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/lib/cli.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:985:15)
    at Function.Module._load (node:internal/modules/cjs/loader:833:27)
    at Module.require (node:internal/modules/cjs/loader:1057:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at lazy (/root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/node_modules/import-lazy/index.js:2:51)
    at /root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/node_modules/import-lazy/index.js:10:11
    at new UpdateNotifier (/root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/node_modules/update-notifier/index.js:46:4)
    at module.exports (/root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/node_modules/update-notifier/index.js:183:25)
    at updateCheck (/root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/lib/cli.js:54:20)
    at Object.<anonymous> (/root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/lib/cli.js:187:1) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/node_modules/update-notifier/index.js',
    '/root/.nvm/versions/node/v16.18.1/lib/node_modules/yo/lib/cli.js'
  ]
}

Thanks

I would suggest you create an issue in GitHub - collective/cookiecutter-plone-starter: Cookiecutter Plone Starter is a framework for jumpstarting Plone 6 projects quickly.. I am pretty sure this is not a documentation issue. It could be an issue for Volto, too, but let's start with the cookiecutter, then work downstream.

FTR, and sorry to be late to the party:

I stumbled upon this today. It turns out this will fail if you are trying to run yo as root:

I hope this helps as future reference.

Thanks for your response, unfortunately running yo as user also fails for me - the traceback I get is:

ploneyo@ps01:/opt/plone6$ yo @plone/volto
Error: Not supported
    at init (/usr/local/lib/node_modules/yo/lib/cli.js:122:23)
    at pre (/usr/local/lib/node_modules/yo/lib/cli.js:83:9)
    at /usr/local/lib/node_modules/yo/lib/cli.js:193:9
    at Object.<anonymous> (/usr/local/lib/node_modules/yo/lib/cli.js:194:3)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)

Just attempting to run yo

ploneyo@ps01:/opt/plone6$ yo
Error: Not supported
    at init (/usr/local/lib/node_modules/yo/lib/cli.js:122:23)
    at pre (/usr/local/lib/node_modules/yo/lib/cli.js:83:9)
    at /usr/local/lib/node_modules/yo/lib/cli.js:193:9
    at Object.<anonymous> (/usr/local/lib/node_modules/yo/lib/cli.js:194:3)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)

I do have several difficulties installing Plone 6 - Error: Can't finde module 'is-ci' is one.
Does anybody has a solution for this topic?

Debian 12 and Ubuntu 20.04. Docker is Tuning. Node v20.11.1. Pre.installation check is successful. All installations on root. I followed the whole official installation documentary on Plone site.


Error while running yo @plone/volto frontend --description 'training' --skip-install --no-interactive --volto=18.0.0-alpha.20 --canary --defaultAddonName volto-jeplone:
node:internal/modules/cjs/loader:1147
throw err;
^

Error: Cannot find module 'is-ci'
Require stack:

  • /root/.nvm/versions/node/v20.11.1/lib/node_modules/yo/node_modules/update-notifier/index.js
  • /root/.nvm/versions/node/v20.11.1/lib/node_modules/yo/lib/cli.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
    at Module._load (node:internal/modules/cjs/loader:985:27)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at lazy (/root/.nvm/versions/node/v20.11.1/lib/node_modules/yo/node_modules/import-lazy/index.js:2:51)
    at /root/.nvm/versions/node/v20.11.1/lib/node_modules/yo/node_modules/import-lazy/index.js:10:11
    at new UpdateNotifier (/root/.nvm/versions/node/v20.11.1/lib/node_modules/yo/node_modules/update-notifier/index.js:46:4)
    at module.exports (/root/.nvm/versions/node/v20.11.1/lib/node_modules/yo/node_modules/update-notifier/index.js:183:25)
    at updateCheck (/root/.nvm/versions/node/v20.11.1/lib/node_modules/yo/lib/cli.js:54:20)
    at Object. (/root/.nvm/versions/node/v20.11.1/lib/node_modules/yo/lib/cli.js:190:1) {
    code: 'MODULE_NOT_FOUND',
    requireStack: [
    '/root/.nvm/versions/node/v20.11.1/lib/node_modules/yo/node_modules/update-notifier/index.js',
    '/root/.nvm/versions/node/v20.11.1/lib/node_modules/yo/lib/cli.js'
    ]
    }

Node.js v20.11.1