yo@microsoft/sharepoint在TypeError上失败:lookups.flatMap不是函数



安装Node v10.16.1并安装gulp和yo(一切看起来都很好!(后,它在命令yo @microsoft/sharepoint上失败,类型错误:lookups.flatMap不是函数

C:UsersMYNAMEAppDataRoamingnpmnode_modulesyonode_modulesyeoman-environmentlibresolver.js:70
filePatterns: lookups.flatMap(prefix => [`${prefix}/*/index.ts`, `${prefix}/*/index.js`]),
^
TypeError: lookups.flatMap is not a function
at Environment.resolver.lookup (C:UsersMYNAMEAppDataRoamingnpmnode_modulesyonode_modulesyeoman-environmentlibresolver.js:70:27)
at init (C:UsersMYNAMEAppDataRoamingnpmnode_modulesyolibcli.js:130:7)
at pre (C:UsersMYNAMEAppDataRoamingnpmnode_modulesyolibcli.js:89:3)
at Object.<anonymous> (C:UsersMYNAMEAppDataRoamingnpmnode_modulesyolibcli.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,然后重新安装了节点v10。TypeError返回。也许和路径有关
知道吗?thx

我通过降级我的gull和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

所以我卸载了gullow和yeoman:

npm uninstall -g gulp
npm uninstall -g yo

然后安装旧版本:

npm install -g gulp@3.9.1
npm install -g yo@3.1.0

然后能够在运行后成功生成SharePoint框架项目:

yo @microsoft/sharepoint

一旦完成,我就可以在SharePoint框架项目目录中运行以下内容来启动本地工作台:

gulp serve

注意:如果还没有这样做一次,您需要在SharePoint框架项目目录中生成一个开发证书:

gulp trust-dev-cert

我认为您应该将node.js升级到v14,如Microsoft官方指南:中所述

安装Node.js LTS v14的最新版本。
此版本是当前建议与SharePoint Framework 一起使用的Node.js版本

Node v10在几天后(事实上,明天(就要下线了,所以使用它是不安全的。

我今天在搭建一个新的Web部件时遇到了同样的问题,我通过将节点从v10升级到v14来解决。

另一个建议是,如果你只打算使用一次全局npm包(例如,用于脚手架(,请避免安装它;我通常使用npx来动态下载yomicrosoft生成器,所以我总是使用最新的可用版本:

$ 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

然后能够在运行后成功生成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

最新更新