Не удалось развернуть приложение ASP.NET Core / Angular в Azure из репозитория Github. - PullRequest
0 голосов
/ 08 ноября 2018

Я создал проект по умолчанию, используя dotnet new angular -o Homepage4.

Я запускаю этот проект dotnet run, и он открывает веб-страницу по умолчанию. Все работает.

Я сохранил этот проект в репозиторий GitHub.

Теперь я хочу, чтобы мой сайт Azure создавался из моего репозитория GitHub.

На моем портале Azure ...

  1. Выбранный Службы приложений
  2. Выбрал мой сервис приложений (мой веб-сайт)
  3. Выбранный Варианты развертывания (классика)

enter image description here

  1. Выбранный GitHub в качестве варианта развертывания

enter image description here

  1. Выберите репозиторий Homepage4, основная ветвь выбирается автоматически

enter image description here

  1. Кликнул ОК

И я получил ошибку

enter image description here

Нажмите на эту ошибку, откроется Сведения о развертывании

enter image description here

Я вижу, что последняя команда не выполнена, нажал Просмотр журнала

, который открыл консоль журнала со следующим содержимым:

Command: "D:\home\site\deployments\tools\deploy.cmd"
Handling ASP.NET Core Web Application deployment.
  Restoring packages for D:\home\site\repository\Homepage4.csproj...
  Generating MSBuild file D:\home\site\repository\obj\Homepage4.csproj.nuget.g.props.
  Generating MSBuild file D:\home\site\repository\obj\Homepage4.csproj.nuget.g.targets.
  Restore completed in 3.2 sec for D:\home\site\repository\Homepage4.csproj.
Microsoft (R) Build Engine version 15.8.169+g1ccb72aefa for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 499.04 ms for D:\home\site\repository\Homepage4.csproj.
  Homepage4 -> D:\home\site\repository\bin\Release\netcoreapp2.1\Homepage4.dll
  Homepage4 -> D:\home\site\repository\bin\Release\netcoreapp2.1\Homepage4.Views.dll
EXEC : npm ERR! error : Method Not Allowed [D:\home\site\repository\Homepage4.csproj]
  npm ERR!     at errorResponse (D:\Program Files (x86)\npm\1.4.28\node_modules\npm\lib\cache\add-named.js:260:10)
  npm ERR!     at D:\Program Files (x86)\npm\1.4.28\node_modules\npm\lib\cache\add-named.js:203:12
  npm ERR!     at saved (D:\Program Files (x86)\npm\1.4.28\node_modules\npm\node_modules\npm-registry-client\lib\get.js:167:7)
  npm ERR!     at Object.oncomplete (fs.js:108:15)
  npm ERR! If you need help, you may report this *entire* log,
  npm ERR! including the npm and node versions, at:
  npm ERR!     <http://github.com/npm/npm/issues>

  npm ERR! System Windows_NT 6.2.9200
  npm ERR! command "node" "D:\\Program Files (x86)\\npm\\1.4.28\\node_modules\\npm\\bin\\npm-cli.js" "install"
  npm ERR! cwd D:\home\site\repository\ClientApp
  npm ERR! node -v v0.10.40
  npm ERR! npm -v 1.4.28
  npm ERR! code E405
D:\home\site\repository\Homepage4.csproj(38,5): error MSB3073: The command "npm install" exited with code 1.
Failed exitCode=1, command=dotnet publish "D:\home\site\repository\Homepage4.csproj" --output "D:\local\Temp\8d645b0c2726c81" --configuration Release
An error has occurred during web site deployment.
\r\nD:\Program Files (x86)\SiteExtensions\Kudu\78.11022.3613\bin\Scripts\starter.cmd "D:\home\site\deployments\tools\deploy.cmd"

Я не уверен, что понимаю, в чем проблема, кто-то может посоветовать?

Напомню, это код по умолчанию, генерируемый при запуске команды dotnet new angular. Код, очевидно, работает, когда выполняется на компьютере разработчика с помощью dotnet run.

Спасибо

UPDATE

Я изменил версию npm в Azure на 6.1.0

Попытка запустить развертывание снова, но снова появляется ошибка:

Command: "D:\home\site\deployments\tools\deploy.cmd"
Handling ASP.NET Core Web Application deployment.
  Restoring packages for D:\home\site\repository\Homepage.csproj...
  Generating MSBuild file D:\home\site\repository\obj\Homepage.csproj.nuget.g.props.
  Generating MSBuild file D:\home\site\repository\obj\Homepage.csproj.nuget.g.targets.
  Restore completed in 3.43 sec for D:\home\site\repository\Homepage.csproj.
Microsoft (R) Build Engine version 15.8.169+g1ccb72aefa for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 354.75 ms for D:\home\site\repository\Homepage.csproj.
  Homepage -> D:\home\site\repository\bin\Release\netcoreapp2.1\Homepage.dll
  Homepage -> D:\home\site\repository\bin\Release\netcoreapp2.1\Homepage.Views.dll

  D:\Program Files (x86)\npm\6.1.0\node_modules\npm\bin\npm-cli.js:79
        let notifier = require('update-notifier')({pkg})
            ^^^^^^^^
  SyntaxError: Unexpected identifier
      at Module._compile (module.js:439:25)
      at Object.Module._extensions..js (module.js:474:10)
      at Module.load (module.js:356:32)
      at Function.Module._load (module.js:312:12)
      at Function.Module.runMain (module.js:497:10)
      at startup (node.js:119:16)
      at node.js:935:3

  D:\Program Files (x86)\npm\6.1.0\node_modules\npm\bin\npm-cli.js:79
        let notifier = require('update-notifier')({pkg})
            ^^^^^^^^
  SyntaxError: Unexpected identifier
      at Module._compile (module.js:439:25)
      at Object.Module._extensions..js (module.js:474:10)
      at Module.load (module.js:356:32)
      at Function.Module._load (module.js:312:12)
      at Function.Module.runMain (module.js:497:10)
      at startup (node.js:119:16)
      at node.js:935:3
D:\home\site\repository\Homepage.csproj(39,5): error MSB3073: The command "npm install" exited with code 8.
Failed exitCode=1, command=dotnet publish "D:\home\site\repository\Homepage.csproj" --output "D:\local\Temp\8d64a5971495781" --configuration Release
An error has occurred during web site deployment.
\r\nD:\Program Files (x86)\SiteExtensions\Kudu\78.11022.3613\bin\Scripts\starter.cmd "D:\home\site\deployments\tools\deploy.cmd"

Что на этот раз?

1 Ответ

0 голосов
/ 08 ноября 2018

Ваш код отлично работает на компьютере разработчика, потому что у вас npm 6.4, а в Azure он не работает, потому что у вас более старая версия npm 1.4.28. Ошибка связана с библиотекой npm и требует обновления библиотеки npm.

Необходимо указать, какие версии npm и Node.js должны использоваться для вашего приложения, вы можете добавить их в файл package.json и затем повторить загрузку. Приложение по умолчанию, созданное для вас с dotnet new angular, не содержит никакого свойства engines в файле package.json, что означает, что платформа использует содержимое по умолчанию. Поскольку платформы, доступные на вашем компьютере, это Node.js и npm с 6.4, это работает. В Azure он переходит к (~) 1.4, и это вызывает проблему. Просто решите проблему, добавив движки в ваш package.json, он находится в этой области

"license": "MIT",
"engines": {
    "node": "8.1.4",
    "npm": "5.0.3"
},
"scripts": {

Затем повторно разверните приложение через GitHub, и оно будет работать, потому что на этот раз вы заставите платформу использовать эти версии.

Пожалуйста, прочитайте немного больше об управлении средой выполнения Node.js на платформе Azure в этом посте: https://blogs.msdn.microsoft.com/azureossds/2016/04/20/nodejs-and-npm-versions-on-azure-app-services/

Чтобы увидеть аналогичную тему, чтобы отметить поддерживаемые версии среды выполнения Node.js в Azure, проверьте, Какие версии node.js доступны на веб-сайтах Azure?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...