Ошибка генератора веб-частей Yeoman SharePoint Framework

Я новичок в Йомене, поэтому любая помощь будет действительно полезна.

При попытке использовать генератор веб-частей Yeoman SharePoint Framework я получаю следующую ошибку:

events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: Cannot find "package.json" file required by this generator
    at WebpartGenerator.get [as packageJson] (/usr/local/lib/node_modules/@microsoft/generator-sharepoint/lib/common/BaseGenerator.js:45:23)
    at WebpartGenerator.BaseGenerator.ensureDependencyGroup (/usr/local/lib/node_modules/@microsoft/generator-sharepoint/lib/common/BaseGenerator.js:96:18)
    at WebpartGenerator.BaseComponentGenerator.configuring (/usr/local/lib/node_modules/@microsoft/generator-sharepoint/lib/generators/component/BaseComponentGenerator.js:95:14)
    at WebpartGenerator.configuring (/usr/local/lib/node_modules/@microsoft/generator-sharepoint/lib/generators/webpart/index.js:43:38)
    at Object.<anonymous> (/usr/local/lib/node_modules/@microsoft/generator-sharepoint/node_modules/yeoman-generator/lib/index.js:408:23)
    at /usr/local/lib/node_modules/@microsoft/generator-sharepoint/node_modules/run-async/index.js:25:25
    at /usr/local/lib/node_modules/@microsoft/generator-sharepoint/node_modules/run-async/index.js:24:19
    at /usr/local/lib/node_modules/@microsoft/generator-sharepoint/node_modules/yeoman-generator/lib/index.js:409:9
    at runCallback (timers.js:672:20)
    at tryOnImmediate (timers.js:645:5)

person whatsgoingon    schedule 05.09.2017    source источник
comment
кажется, это может быть причиной, но я не уверен, как ее решить, получите это сообщение сразу после запуска yo @microsoft/sharepoint я получаю Just found a ``.yo-rc.json`` in a parent directory. Setting the project root at: /Users/admin/spfx'   -  person whatsgoingon    schedule 05.09.2017


Ответы (2)


Пара вещей, которые вам нужно проверить:

1) Убедитесь, что вы используете версию LTS для Node.js. Если не уверены, удалите Node js и загрузите его отсюда - Узел v6.11

2) Убедитесь, что у вас версия NPM 3.x. SPFx в настоящее время несовместим с NPM 5.

Вы можете проверить это, запустив команду npm -v в командной строке.

Если это версия 5, вы можете понизить ее, выполнив следующую команду:

npm install -g npm3

3) После этого вы можете установить последнюю версию yeoman-шаблона spfx, как показано ниже:

npm install @microsoft/generator-sharepoint@latest -g

4) После этого вы можете запустить команду yo @microsoft/sharepoint для создания веб-части SPFx

person Gautam Sheth    schedule 05.09.2017
comment
Спасибо за это, прежде чем я попробую выполнить шаги, влияет ли это на что-нибудь, что работало ранее? - person whatsgoingon; 05.09.2017
comment
Нет, это не влияет. - person Gautam Sheth; 05.09.2017
comment
Следует ли мне упомянуть, что я использую Mac OSX? Я заметил, что версия, которую вы включили, предназначена для Windows. - person whatsgoingon; 06.09.2017
comment
ах, хорошо, это объясняет, вы можете скачать его отсюда Node.js - person Gautam Sheth; 06.09.2017
comment
Итак, я попробовал описанные выше шаги, к сожалению, без изменений. Я создал веб-часть SPFx в новом каталоге, который работает нормально, но gulp serve не работает. Спасибо за вашу помощь в этом - person whatsgoingon; 06.09.2017
comment
Понятия не имею, почему это происходит на Mac Os, но вы можете запустить gulp serve --nobrowser, а затем открыть страницу рабочей среды на sharepoint, URL-адрес которой будет https://tenantname.sharepoint.com/_layouts/15/workbench.aspx, и вы сможете добавить / протестировать веб-часть - person Gautam Sheth; 07.09.2017

Это воспроизводится следующим образом.

  1. Создайте проект SPFx в родительской папке.
  2. Создайте подпапку (например, Sub1) и переместите все видимые файлы в эту папку с помощью Finder. (Примечание. Все скрытые файлы, которые начинаются с., Остаются в родительской папке на этом шаге)
  3. Создайте другую папку (например, Sub2) и снова сгенерируйте проект SPFx. И вот эта ошибка проявляется.

На шаге 2 необходимо было переместить все скрытые файлы в дочернюю папку. В любом случае, решение этой проблемы - использовать совершенно новую папку, не относящуюся к делу, такую ​​как Parent2.

Родитель (Sub1, Sub2), Parent2

person Kengo Mori    schedule 27.01.2018