gpt4 book ai didi

node.js - 无法从 Github 存储库将 ASP.NET Core/Angular 应用程序部署到 Azure

转载 作者:行者123 更新时间:2023-12-03 05:02:47 25 4
gpt4 key购买 nike

我使用 dotnet new Angular -o Homepage4 创建了一个默认项目。

我运行这个项目dotnet run,它会打开一个默认网页。一切正常。

我将此项目保存到 GitHub 存储库。

现在我希望从我的 GitHub 存储库构建我的 Azure 站点。

在我的 Azure 门户中...

  1. 选定的应用服务
  2. 选择了我的应用服务(我的网站)
  3. 选定的部署选项(经典)

enter image description here

  • 选择 GitHub 作为部署选项
  • enter image description here

  • 选择Homepage4存储库,自动选择master分支
  • enter image description here

  • 点击确定
  • 我得到了错误

    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 在开发计算机上执行时,该代码显然可以正常工作。

    谢谢

    更新

    我已将 Azure 上的 npm 版本更改为 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"

    这次是什么?

    最佳答案

    您的代码在开发计算机上运行良好,因为您使用的是 npm 6.4,而在 Azure 上它会失败,因为您使用的是旧版本的 npm 1.4.28。该错误是由于npm库导致的,需要您更新npm库。

    您需要强制您的应用程序应使用哪些 npm 和 Node.js 版本,您可以将它们添加到 package.json 文件中,然后重试上传。使用 dotnet new Angular 创建的默认应用在 package.json 文件中不包含任何 engines 属性,这意味着平台使用默认内容。由于您的计算机上可用的平台是 Node.js 和 npm 6.4,因此它可以工作。在 Azure 上,它会转到 (~)1.4,这会导致问题。只需将引擎添加到 package.json 即可解决问题,它位于此区域

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

    然后通过 GitHub 重新部署应用程序,它将起作用,因为这次您将强制平台使用这些版本。

    请阅读这篇文章,详细了解如何在 Azure 平台上管理 Node.js 运行时:https://blogs.msdn.microsoft.com/azureossds/2016/04/20/nodejs-and-npm-versions-on-azure-app-services/

    对于类似的线程,要注意 Azure 上受支持的 Node.js 运行时版本,请检查 Which versions of node.js are available on Azure Web Sites?

    关于node.js - 无法从 Github 存储库将 ASP.NET Core/Angular 应用程序部署到 Azure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53214998/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com