You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从VS Code部署React应用到Azure App Service时Node.js版本检测失败

解决Azure App Service部署React应用时的Node.js版本检测失败问题

问题描述

通过VS Code的Azure App Service扩展部署简单React应用到Azure App Service时失败,报错:Couldn't detect a version for the platform 'nodejs' in the repo。本地机器和Azure Web App的Node.js版本均为16,部署日志如下:

9:10:47 pm spa1234: Command: oryx build /tmp/zipdeploy/extracted -o /home/site/wwwroot --platform nodejs --platform-version 16 -p virtualenv_name= --log-file /tmp/build-debug.log -i /tmp/8dab4f80016b776 -p compress_node_modules=tar-gz | tee /tmp/oryx-build.log
9:10:53 pm spa1234: Operation performed by Microsoft Oryx, https://github.com/Microsoft/Oryx
9:10:53 pm spa1234: You can report issues at https://github.com/Microsoft/Oryx/issues
9:10:53 pm spa1234: Oryx Version: 0.2.20220812.1, Commit: cdf6b1b, ReleaseTagName: 20220812.1
9:10:53 pm spa1234: Build Operation ID: |75RCaacLtWg=.52a37c81_
9:10:53 pm spa1234: Repository Commit : 745ee158-98c2-4cb4-8cba-c067ab33681a
9:10:53 pm spa1234: Detecting platforms...
9:10:53 pm spa1234: Could not detect any platform in the source directory.
9:10:53 pm spa1234: Error: Couldn't detect a version for the platform 'nodejs' in the repo.
9:10:56 pm spa1234: /bin/bash -c "oryx build /tmp/zipdeploy/extracted -o /home/site/wwwroot --platform nodejs --platform-version 16 -p virtualenv_name= --log-file /tmp/build-debug.log -i /tmp/8dab4f80016b776 -p compress_node_modules=tar-gz | tee /tmp/oryx-build.log ; exit $PIPESTATUS "
9:10:56 pm spa1234: Generating summary of Oryx build
9:10:56 pm spa1234: Parsing the build logs
9:10:56 pm spa1234: Found 0 issue(s)
9:10:56 pm spa1234: Build Summary :

解决方法

  • 在项目根目录的package.json中指定Node.js版本
    添加engines字段明确版本,让Oryx能识别:

    {
      "engines": {
        "node": "16.x"
      }
    }
    
  • 确认部署路径为项目根目录
    检查VS Code的Azure App Service扩展部署配置,确保选中的是包含package.json的React项目根目录,避免部署子目录导致关键文件缺失。

  • 在Azure门户强制指定Node.js版本
    进入Web App的「配置」>「通用设置」,设置启动命令为npm start;再到「应用程序设置」添加环境变量:

    • WEBSITE_NODE_DEFAULT_VERSION:值设为16.xx(具体版本号)
  • 预构建后部署静态文件
    本地执行npm run build生成静态资源(默认在build目录),然后通过VS Code的Azure扩展直接部署build目录,跳过Oryx的构建步骤。

内容的提问来源于stack exchange,提问作者beewest

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 08:35:30