yo @microsoft/sharepoint fails on TypeError: lookups.flatMap is not a function
yo @microsoft/sharepoint fails on TypeError: lookups.flatMap is not a function
安装 Node v10.16.1 并安装 gulp 和哟(一切看起来都很好!)它在命令 yo @microsoft/sharepoint
上失败并出现类型错误:lookups.flatMap 不是函数
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)
我是初学者!几天前它起作用了,然后我安装了 nvm(按照微软指令将节点 v8 交换到节点 v10)然后问题开始了,我卸载了 nvm,节点 v8 和 v10 en 重新安装了节点 v10。类型错误 returns。也许与路径有关?
任何的想法 ?谢谢
我通过降级 gulp 和 yeoman 版本解决了这个问题。
首先查看我安装了什么:
npm list -g --depth=0
输出:
+-- @microsoft/generator-sharepoint@1.11.0
+-- gulp@4.0.2
+-- npm@6.14.12
+-- windows-build-tools@5.2.2
-- yo@4.0.0
所以我卸载了 gulp 和 yeoman:
npm uninstall -g gulp
npm uninstall -g yo
然后安装旧版本:
npm install -g gulp@3.9.1
npm install -g yo@3.1.0
然后在运行ning:
之后能够成功生成SharePoint框架项目
yo @microsoft/sharepoint
一旦完成,我就可以从 SharePoint 框架项目目录中 运行 以下内容来启动本地 workbench:
gulp serve
注意:如果还没有生成过一次,需要在SharePoint框架项目目录下生成开发证书:
gulp trust-dev-cert
我认为您应该将 node.js 升级到 v14,如 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
节点v10是EOL in few days(明天,事实上),所以使用它是不安全的。
我今天在搭建一个新的 webpart 时遇到了同样的问题,我通过将节点从 v10 升级到 v14 解决了这个问题。
另一个建议是,如果您打算只使用一次(例如,用于脚手架),请避免安装全局 npm 包;我通常使用 npx 即时下载 yo 和 microsoft generator,所以我总是使用最新的可用版本:
$ npx -p yo -p @microsoft/generator-sharepoint -c "yo @microsoft/sharepoint"
希望对你有所帮助,再见!
首先尝试同时卸载 gulp 和 yeoman:
卸载 运行 这些命令-->
npm uninstall -g gulp
npm uninstall -g yo
然后安装旧版本:
安装 运行 这些命令-->
npm install -g gulp@3.9.1
npm install -g yo@3.1.0
然后在运行ning:
后能够成功生成SharePoint框架项目
yo @microsoft/sharepoint
检查版本列表是否相同:
npm list -g --depth=0
+-- @microsoft/generator-sharepoint@1.11.0
+-- gulp@3.9.1
+-- gulp-cli@2.3.0
+-- yarn@1.22.17
+-- yo@3.1.0
运行 下面的卸载命令:
npm uninstall -g gulp
npm uninstall -g yo
运行 以下命令:
npm install -g gulp@3.9.1
npm install -g yo@3.1.0
npm uninstall -g @microsoft/generator-sharepoint
然后安装以前的版本:
npm install -g @microsoft/generator-sharepoint@1.11.0
安装 Node v10.16.1 并安装 gulp 和哟(一切看起来都很好!)它在命令 yo @microsoft/sharepoint
上失败并出现类型错误:lookups.flatMap 不是函数
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)
我是初学者!几天前它起作用了,然后我安装了 nvm(按照微软指令将节点 v8 交换到节点 v10)然后问题开始了,我卸载了 nvm,节点 v8 和 v10 en 重新安装了节点 v10。类型错误 returns。也许与路径有关?
任何的想法 ?谢谢
我通过降级 gulp 和 yeoman 版本解决了这个问题。
首先查看我安装了什么:
npm list -g --depth=0
输出:
+-- @microsoft/generator-sharepoint@1.11.0
+-- gulp@4.0.2
+-- npm@6.14.12
+-- windows-build-tools@5.2.2
-- yo@4.0.0
所以我卸载了 gulp 和 yeoman:
npm uninstall -g gulp
npm uninstall -g yo
然后安装旧版本:
npm install -g gulp@3.9.1
npm install -g yo@3.1.0
然后在运行ning:
之后能够成功生成SharePoint框架项目yo @microsoft/sharepoint
一旦完成,我就可以从 SharePoint 框架项目目录中 运行 以下内容来启动本地 workbench:
gulp serve
注意:如果还没有生成过一次,需要在SharePoint框架项目目录下生成开发证书:
gulp trust-dev-cert
我认为您应该将 node.js 升级到 v14,如 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
节点v10是EOL in few days(明天,事实上),所以使用它是不安全的。
我今天在搭建一个新的 webpart 时遇到了同样的问题,我通过将节点从 v10 升级到 v14 解决了这个问题。
另一个建议是,如果您打算只使用一次(例如,用于脚手架),请避免安装全局 npm 包;我通常使用 npx 即时下载 yo 和 microsoft generator,所以我总是使用最新的可用版本:
$ npx -p yo -p @microsoft/generator-sharepoint -c "yo @microsoft/sharepoint"
希望对你有所帮助,再见!
首先尝试同时卸载 gulp 和 yeoman:
卸载 运行 这些命令-->
npm uninstall -g gulp
npm uninstall -g yo
然后安装旧版本:
安装 运行 这些命令-->
npm install -g gulp@3.9.1
npm install -g yo@3.1.0
然后在运行ning:
后能够成功生成SharePoint框架项目yo @microsoft/sharepoint
检查版本列表是否相同:
npm list -g --depth=0
+-- @microsoft/generator-sharepoint@1.11.0
+-- gulp@3.9.1
+-- gulp-cli@2.3.0
+-- yarn@1.22.17
+-- yo@3.1.0
运行 下面的卸载命令:
npm uninstall -g gulp
npm uninstall -g yo
运行 以下命令:
npm install -g gulp@3.9.1
npm install -g yo@3.1.0
npm uninstall -g @microsoft/generator-sharepoint
然后安装以前的版本:
npm install -g @microsoft/generator-sharepoint@1.11.0