yo: `npm link` results in invalid generators

I’m trying to create my first generator following tutorial, so I’m most likely doing something wrong… just can’t tell what

$ yo generate
...



$ npm link .
/Users/alexgorbatchev/.nvm/v0.10.22/lib/node_modules/generator-express-app -> /Users/alexgorbatchev/generator-express-app

$ ls -la /Users/alexgorbatchev/.nvm/v0.10.22/lib/node_modules
...
lrwxr-xr-x   1 alexgorbatchev  staff   16 Dec 17 18:26 generator-express-app -> ../../../../generator-express-app
...



$ yo --help

Usage: yo GENERATOR [args] [options]

General options:
  -h, --help     # Print generator's options and usage
  -f, --force    # Overwrite files that already exist

Please choose a generator below.


Users
  Users:alexgorbatchev:generator-express-app:app

Generator
  generator:app
  generator:subgenerator




$ npm test

express-app creation
    1) "before each" hook

  0 passing (8ms)
  1 failing

  1) express-app creation "before each" hook:
     Uncaught Error: You don't seem to have a generator with the name express-app:app installed.
You can see available generators with npm search yeoman-generator and then install them with npm install [name].
To see the 1 registered generators run yo with the `--help` option.
    at Environment.create (/Users/alexgorbatchev/generator-express-app/node_modules/yeoman-generator/lib/env/index.js:312:7)
    at Object.helpers.createGenerator (/Users/alexgorbatchev/generator-express-app/node_modules/yeoman-generator/lib/test/helpers.js:238:23)
    at /Users/alexgorbatchev/generator-express-app/test/creation.spec.coffee:8:21, <js>:12:31
    at /Users/alexgorbatchev/generator-express-app/node_modules/yeoman-generator/lib/test/helpers.js:182:5
    at CB (/Users/alexgorbatchev/generator-express-app/node_modules/yeoman-generator/node_modules/rimraf/rimraf.js:42:5)
    at /Users/alexgorbatchev/generator-express-app/node_modules/yeoman-generator/node_modules/rimraf/rimraf.js:118:7
    at Object.oncomplete (fs.js:107:15) 

it seems that npm linked generator ends up under wrong name… using full path, instead of actual generator name

I have also tried installing from master and it doesn’t seem to work at all.

$ npm install -g git+ssh://git@github.com:yeoman/yo.git git+ssh://git@github.com:yeoman/generator.git
...
$ yo --help
Usage: yo GENERATOR [args] [options]

General options:
  -h, --help     # Print generator's options and usage
  -f, --force    # Overwrite files that already exist

Please choose a generator below.
$

No visible generators…

posted originally in https://github.com/yeoman/yeoman/issues/1244

About this issue

  • Original URL
  • State: closed
  • Created 11 years ago
  • Comments: 16 (7 by maintainers)

Most upvoted comments

@SBoudrias I think my file structure was wrong. I placed my index.js which exports an instance of generator subclass in the root of my project instead of placing it in file/path/to/generator-testt/generator/app. When the guide used the name index.js I inferred it’s going to be placed in the project root. Here in the line “In the generator’s index.js file, here’s how you extend the base generator:” under the “Extending generator” section.