yeoman / doctor

Detect potential issues with users system that could prevent Yeoman from working correctly
http://yeoman.io
BSD 2-Clause "Simplified" License
61 stars 16 forks source link

NODE_PATH matches the npm root - Unable to find the npm root, something went wrong. #59

Open nandaccio opened 2 years ago

nandaccio commented 2 years ago

I am unable to run yo, so I ran "yo doctor" and I am getting the error message below.

Yeoman Doctor Running sanity checks on your system

√ No .bowerrc file in home directory √ Global configuration file is valid × NODE_PATH matches the npm root

Unable to find the npm root, something went wrong. Try to execute npm -g root --silent on your command-line

√ No .yo-rc.json file in home directory √ Node.js version √ npm version √ yo version

Found potential issues on your machine :(

NOTES:

image

appsparkler commented 2 years ago

Placing the generator index.js file inside generators/app instead of the root of the generator project worked for me.

// ./generator/app/index.js
var Generator = require('yeoman-generator');

// Try this sample generator
module.exports = class extends Generator {
    constructor(args, opts) {
        // Calling the super constructor is important so our generator is correctly set up
        super(args, opts);
    }
    method1() {
        this.fs.write(this.destinationPath('index.js'), 'const foo = 1;');
    }
};

Now, you might still have an error with yo doctor; however, you'll have a working generator.

A better approach would be is to use Yeoman's generator-generator as a starter kit for your generator and then build on top of that.