Обновление пакетов SharePoint Framework

Средства клиентской разработки для SharePoint управляют зависимостями и другими необходимыми вспомогательными элементами JavaScript с помощью диспетчера пакетов npm. Этот диспетчер обычно устанавливается вместе с Node.js.

Когда вы создаете новое клиентское решение, генератор Yeoman для SharePoint получает последние версии необходимых для проекта пакетов SharePoint Framework. По мере работы над проектом пакеты могут устаревать.

Изучив заметки о выпуске, касающиеся определенного выпуска или последней версии пакета, вы можете решить обновить пакеты SharePoint Framework, используемые в проекте. Пакеты SharePoint Framework включают установленные в проекте пакеты npm, например @microsoft/sp-core-library, и глобально установленные пакеты npm, например @microsoft/generator-sharepoint.

Совет

Рекомендуем время от времени обновлять пакеты SharePoint Framework, чтобы получать доступ к последним изменениям и исправлениям.

Поиск устаревших пакетов

Чтобы найти устаревшие пакеты, в том числе пакеты SharePoint Framework и другие пакеты, от которых зависит проект, перейдите в каталог проекта и выполните в нем следующую команду.

npm outdated

На основе файла package.json, расположенного в корневом каталоге проекта, и реестра npm выводятся следующие сведения о пакетах:

  • версия, установленная в проекте;
  • версия, запрашиваемая проектом (указана в файле package,json);
  • последняя доступная версия.

Устаревшие пакеты NPM

Имена пакетов SharePoint Framework начинаются с такого идентификатора области npm и префикса:

@microsoft/sp-

Помимо пакетов SharePoint Framework вам также может понадобиться обновить пакеты react и office-ui-fabric-react. Убедитесь, что вы прочитали заметки о & выпуске для конкретного выпуска, чтобы определить, какие пакеты требуют обновления.

Использование команды "npm outdated" в проекте

SharePoint Server 2016 с пакетом дополнительных компонентов 2 поддерживает решения SharePoint Framework. SharePoint Server 2016 использует более старую версию SharePoint Framework, чем SharePoint Online.

Формируя шаблон проекта, генератор Yeoman для SharePoint Framework предлагает выбрать, какую версию должно использовать решение. Если оно будет использовать последнюю версию SharePoint Framework, оно будет работать только в SharePoint Online, если более старую — оно будет работать в SharePoint Server 2016 и SharePoint Online.

Команда npm outdated, выполняемая в проекте для SharePoint Online и SharePoint Server 2016, показывает последние версии пакетов SharePoint Framework. Эти версии работают только в SharePoint Online. Если вы обновите пакеты в своем решении, оно перестанет работать в SharePoint Server 2016.

Работая с решениями SharePoint Framework, совместимыми с локальной средой SharePoint, всегда проверяйте, какой уровень исправления у целевой фермы SharePoint и какую версию SharePoint Framework она поддерживает.

Обновление пакетов

При обновлении версий пакетов всегда используйте диспетчер пакетов (npm или Yarn). Не следует изменять файл package.json вручную. Если вы будете следовать рекомендациям по использованию файла блокировки, изменения, внесенные в файл package.json, будут проигнорированы.

Начните с определения того, какие пакеты нужно обновить и какие новые версии хотите использовать. Не всегда можно использовать последнюю версию определенного пакета, так как она может быть несовместима с другими зависимостями SharePoint Framework, такими как TypeScript.

Для каждого пакета, который нужно обновить, выполните следующую команду:

npm install mypackage@newversion --save

Например, если вы используете date-fns версии 2.9.0 и хотите выполнить обновление до версии 2.16.1, нужно выполнить такую команду:

npm install date-fns@2.16.1 --save

При обновлении пакета с помощью npm устанавливается указанная версия пакета, а также обновляется номер версии в зависимостях файла package.json и файл блокировки, используемый в проекте.

После установки пакетов выполните следующую команду, чтобы удалить артефакты старой сборки:

gulp clean

Рекомендуется удалить все старые пакеты, удалив папку node_modules и загрузив (т.е. переустановив) все зависимости с обновленным файлом package.json. Без этого действия старые версии могут конфликтовать с более новыми версиями при следующей сборке проекта.

npm install

Обновление кода

В зависимости от того, насколько существенно изменен API, может потребоваться обновить существующий код и файлы конфигурации проекта. О существенных изменениях и модификациях, которые нужно внести в существующий код, можно узнать из заметок о выпуске. Внесите необходимые исправления в код.

Вы всегда можете выполнить сборку проекта, чтобы посмотреть, есть ли ошибки и предупреждения, выполнив команду в консоли в каталоге проекта:

gulp build

Обновление генератора Yeoman

Если вы установили генератор Yeoman для SharePoint Framework глобально, вы можете проверить, нужно ли его обновлять, выполнив следующую команду:

npm outdated -g

На основе версий, установленных на компьютере, и реестра npm выводятся следующие сведения о глобально установленных на компьютере пакетах:

  • текущая версия, глобально установленная на компьютере;
  • версия, которую вы запросили при установке;
  • последняя доступная версия.

Устаревшие глобальные пакеты NPM

Имя пакета генератора выглядит следующим образом:

@microsoft/generator-sharepoint

Обновление пакета генератора

Чтобы обновить генератор до последней опубликованной версии, откройте любую консоль и выполните следующую команду:

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

Команда обновляет генератор Yeoman для SharePoint и его зависимости до последней опубликованной версии. Для проверки выполните в консоли следующую команду:

npm ls @microsoft/generator-sharepoint -g --depth=0

См. также