'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 1:[1]
I believe you should upgrade node.js to v14, as stated in Microsoft official guide:
Install the latest version of Node.js LTS v14.
This version is the currently recommended version of Node.js to use with the SharePoint Framework
Node v10 is EOL in few days (tomorrow, in fact), so it is unsafe to use it.
I faced the same issue today while scaffolding a new webpart, and I solved by upgrading node from v10 to v14.
Another suggestion is to avoid installing global npm packages if you are going to use it just once (for scaffolding, for example); I usually use npx to download on the fly yo and the microsoft generator, so I always use the latest available versions:
$ npx -p yo -p @microsoft/generator-sharepoint -c "yo @microsoft/sharepoint"
Hope this can help, bye!
Solution 2:[2]
First try to uninstall both gulp and yeoman:
to uninstall run these commands-->
npm uninstall -g gulp
npm uninstall -g yo
Then installed older versions:
to install run these commands-->
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
Solution 3:[3]
Check version list if same or not:
npm list -g --depth=0
+-- @microsoft/[email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
Run below commands to uninstall:
npm uninstall -g gulp
npm uninstall -g yo
Run below commands:
npm install -g [email protected]
npm install -g [email protected]
npm uninstall -g @microsoft/generator-sharepoint
Then install a previous version:
npm install -g @microsoft/[email protected]
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | |
| Solution 2 | Nimantha |
| Solution 3 | Nimantha |
