Search code examples
yeomanspfx

yo @microsoft/sharepoint fails on TypeError: lookups.flatMap is not a function


After installation of Node v10.16.1 and installation of gulp and yo (Everything looks alright !) it fails on command yo @microsoft/sharepoint with TypeError: lookups.flatMap is not a function

C:\Users\MYNAME\AppData\Roaming\npm\node_modules\yo\node_modules\yeoman-environment\lib\resolver.js:70
    filePatterns: lookups.flatMap(prefix => [`${prefix}/*/index.ts`, `${prefix}/*/index.js`]),
                          ^

TypeError: lookups.flatMap is not a function
    at Environment.resolver.lookup (C:\Users\MYNAME\AppData\Roaming\npm\node_modules\yo\node_modules\yeoman-environment\lib\resolver.js:70:27)
    at init (C:\Users\MYNAME\AppData\Roaming\npm\node_modules\yo\lib\cli.js:130:7)
    at pre (C:\Users\MYNAME\AppData\Roaming\npm\node_modules\yo\lib\cli.js:89:3)
    at Object.<anonymous> (C:\Users\MYNAME\AppData\Roaming\npm\node_modules\yo\lib\cli.js:219: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 am a beginner ! Few days ago it worked , then I installed nvm (following a microsoft instruction to swap node v8 to node v10) and then problems started and i uninstalled nvm, node v8 and v10 en reinstalled node v10. The TypeError returns. Perhaps something to do with path ?
Any idea ? thx


Solution

  • I resolved this by downgrading my gulp and yeoman versions.

    First checked to see what I had installed:

    npm list -g --depth=0
    

    Output:

    +-- @microsoft/[email protected]
    +-- [email protected]
    +-- [email protected]
    +-- [email protected]
    -- [email protected]
    

    So I uninstalled both gulp and yeoman:

    npm uninstall -g gulp
    npm uninstall -g yo
    

    Then installed older versions:

    npm install -g [email protected]
    npm install -g [email protected]
    

    Then was able to generate the SharePoint framework project successfully after running:

    yo @microsoft/sharepoint
    

    Once it completed, I was able to run the following from inside the SharePoint framework project directory to launch the local workbench:

    gulp serve
    

    Note: If if not already done so once, you need to generate a development certificate inside the SharePoint framework project directory:

    gulp trust-dev-cert