【问题标题】:Azure deployment issue Missing server.js/app.js filesAzure 部署问题缺少 server.js/app.js 文件
【发布时间】:2018-12-31 02:52:11
【问题描述】:

我正在尝试在 Azure Web 应用上部署我的代码

我的 package.json 文件是:

{
  "name": "blur_admin",
  "version": "1.3.1",
  "devDependencies": {
    "browser-sync": "~2.18.2",
    "browser-sync-spa": "~1.0.3",
    "chalk": "~1.1.1",
    "del": "~2.2.2",
    "eslint-plugin-angular": "~0.12.0",
    "estraverse": "~4.2.0",
    "gulp": "~3.9.0",
    "gulp-angular-filesort": "~1.1.1",
    "gulp-angular-templatecache": "~2.0.0",
    "gulp-autoprefixer": "~3.1.1",
    "gulp-eslint": "~1.0.0",
    "gulp-filter": "~4.0.0",
    "gulp-flatten": "~0.3.1",
    "gulp-gh-pages": "^0.5.4",
    "gulp-inject": "~4.1.0",
    "gulp-load-plugins": "~1.4.0",
    "gulp-minify-css": "~1.2.1",
    "gulp-minify-html": "~1.0.4",
    "gulp-ng-annotate": "~2.0.0",
    "gulp-prompt": "^0.2.0",
    "gulp-protractor": "~3.0.0",
    "gulp-rename": "^1.2.2",
    "gulp-replace": "~0.5.4",
    "gulp-rev": "~7.1.2",
    "gulp-rev-replace": "~0.4.2",
    "gulp-sass": "~2.3.2",
    "gulp-shell": "^0.5.2",
    "gulp-size": "~2.1.0",
    "gulp-sourcemaps": "~1.6.0",
    "gulp-uglify": "~2.0.0",
    "gulp-useref": "~1.3.0",
    "gulp-util": "~3.0.6",
    "gulp-zip": "^3.0.2",
    "http-proxy-middleware": "~0.17.2",
    "lodash": "~4.17.2",
    "main-bower-files": "~2.13.1",
    "uglify-save-license": "~0.4.1",
    "wiredep": "~4.0.0",
    "wrench": "~1.5.8"
  },

  "engines": {
    "node": "6.11.2",
    "npm": "5.0.3"
  },
  "dependencies": {
    "lodash": "^4.17.4",
    "moment": "^2.18.1"
  }
}

我的 deploy.cmd 文件是

@if "%SCM_TRACE_LEVEL%" NEQ "4" @echo off

:: ----------------------
:: KUDU Deployment Script
:: Version: 1.0.15
:: ----------------------

:: Prerequisites
:: -------------

:: Verify node.js installed
where node 2>nul >nul
IF %ERRORLEVEL% NEQ 0 (
  echo Missing node.js executable, please install node.js, if already installed make sure it can be reached from current environment.
  goto error
)

:: Setup
:: -----

setlocal enabledelayedexpansion

SET ARTIFACTS=%~dp0%..\artifacts

IF NOT DEFINED DEPLOYMENT_SOURCE (
  SET DEPLOYMENT_SOURCE=%~dp0%.
)

IF NOT DEFINED DEPLOYMENT_TARGET (
  SET DEPLOYMENT_TARGET=%ARTIFACTS%\wwwroot
)

IF NOT DEFINED NEXT_MANIFEST_PATH (
  SET NEXT_MANIFEST_PATH=%ARTIFACTS%\manifest

  IF NOT DEFINED PREVIOUS_MANIFEST_PATH (
    SET PREVIOUS_MANIFEST_PATH=%ARTIFACTS%\manifest
  )
)

IF NOT DEFINED KUDU_SYNC_CMD (
  :: Install kudu sync
  echo Installing Kudu Sync
  call npm install kudusync -g --silent
  IF !ERRORLEVEL! NEQ 0 goto error

  :: Locally just running "kuduSync" would also work
  SET KUDU_SYNC_CMD=%appdata%\npm\kuduSync.cmd
)
goto Deployment

:: Utility Functions
:: -----------------

:SelectNodeVersion

IF DEFINED KUDU_SELECT_NODE_VERSION_CMD (
  :: The following are done only on Windows Azure Websites environment
  call %KUDU_SELECT_NODE_VERSION_CMD% "%DEPLOYMENT_SOURCE%" "%DEPLOYMENT_TARGET%" "%DEPLOYMENT_TEMP%"
  IF !ERRORLEVEL! NEQ 0 goto error

  IF EXIST "%DEPLOYMENT_TEMP%\__nodeVersion.tmp" (
    SET /p NODE_EXE=<"%DEPLOYMENT_TEMP%\__nodeVersion.tmp"
    IF !ERRORLEVEL! NEQ 0 goto error
  )

  IF EXIST "%DEPLOYMENT_TEMP%\__npmVersion.tmp" (
    SET /p NPM_JS_PATH=<"%DEPLOYMENT_TEMP%\__npmVersion.tmp"
    IF !ERRORLEVEL! NEQ 0 goto error
  )

  IF NOT DEFINED NODE_EXE (
    SET NODE_EXE=node
  )

  SET NPM_CMD="!NODE_EXE!" "!NPM_JS_PATH!"
) ELSE (
  SET NPM_CMD=npm
  SET NODE_EXE=node
)

goto :EOF

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Deployment
:: ----------

:Deployment
echo Handling node.js deployment.

:: 1. Select node version
call :SelectNodeVersion

:: 2. Install npm packages
IF EXIST "%DEPLOYMENT_SOURCE%\package.json" (
  call :ExecuteCmd !NPM_CMD! install
  IF !ERRORLEVEL! NEQ 0 goto error
)

:: 3. Execute Gulp
IF EXIST "%DEPLOYMENT_SOURCE%\gulpfile.js" (
    call .\node_modules\.bin\gulp serve:dist
    IF !ERRORLEVEL! NEQ 0 goto error
)

:: 4. KuduSync
IF /I "%IN_PLACE_DEPLOYMENT%" NEQ "1" (
  call :ExecuteCmd "%KUDU_SYNC_CMD%" -v 50 -f "%DEPLOYMENT_SOURCE%\dist" -t "%DEPLOYMENT_TARGET%" -n "%NEXT_MANIFEST_PATH%" -p "%PREVIOUS_MANIFEST_PATH%" -i ".git;.hg;.deployment;deploy.cmd"
  IF !ERRORLEVEL! NEQ 0 goto error
)

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
goto end

:: Execute command routine that will echo out when error
:ExecuteCmd
setlocal
set _CMD_=%*
call %_CMD_%
if "%ERRORLEVEL%" NEQ "0" echo Failed exitCode=%ERRORLEVEL%, command=%_CMD_%
exit /b %ERRORLEVEL%

:error
endlocal
echo An error has occurred during web site deployment.
call :exitSetErrorLevel
call :exitFromFunction 2>nul

:exitSetErrorLevel
exit /b 1

:exitFromFunction
()

:end
endlocal
echo Finished successfully.

网站部署期间发生错误。子目录或 文件 D:\home\site\repository\lib 已存在。\r\n缺失 server.js/app.js 文件,未生成 web.config\r\nnpm WARN 生命周期用于脚本的节点二进制文件是 D:\Program Files (x86)\nodejs\6.9.1\node.exe 但 npm 正在使用 D:\Program Files (x86)\nodejs\6.11.2\node.exe 本身。使用 --scripts-prepend-node-path 包含节点路径的选项 使用二进制 npm 执行。\r\nnpm WARN blur_admin@1.3.1 否 存储库字段。\r\nnpm WARN blur_admin@1.3.1 没有许可证 域。\r\nnpm WARN 包 lodash 作为开发和 生产依赖。\r\n\r\nnpm WARN 已弃用 bower@1.8.2: ...嘘!您的项目可能随时停止工作,因为它 依赖关系可以改变。通过迁移到 Yarn 来防止这种情况: https://bower.io/blog/2017/how-to-migrate-away-from-bower/\r\nnpm 警告 生命周期用于脚本的节点二进制文件是 D:\Program Files (x86)\nodejs\6.9.1\node.exe 但 npm 正在使用 D:\Program Files (x86)\nodejs\6.11.2\node.exe 本身。使用 --scripts-prepend-node-path 包含节点路径的选项 二进制 npm 被执行。\r\n'node_modules.bin\bower' 不是 识别为内部或外部命令,\r\n可运行程序或 批处理文件。\r\n(节点:11612) UnhandledPromiseRejectionWarning: 未处理的承诺拒绝(拒绝 id:1):错误:错误:jquery 是 未安装。尝试运行bower install 或删除组件 来自您的 bower.json 文件。\r\nD:\Program Files (x86)\SiteExtensions\Kudu\67.61027.3099\bin\Scripts\starter.cmd 部署.cmd

我尝试了几天但无法解决这个问题,有人可以帮忙吗? TIA

【问题讨论】:

    标签: node.js azure gulp web-deployment kudu


    【解决方案1】:

    Azure 应用服务不支持您在 package.json 中指定的 node.js 版本 6.11.2。您可以将其更改为 6.9.5 或任何其他可用的。

    您可以在 URL https://&lt;yourappname&gt;.scm.azurewebsites.net/api/diagnostics/runtime 上查看 Azure 支持的所有 node.js 版本

    【讨论】:

    • 平台上可用的Node.js版本有:0.10.21、0.10.24、0.10.26、0.10.28、0.10.29、0.10.31、0.10.32、0.10.40、 0.12.0、0.12.2、0.12.3、0.12.6、4.0.0、4.1.0、4.1.2、4.2.1、4.2.2、4.2.3、4.2.4、4.3.0、4.3。 2、4.4.0、4.4.1、4.4.6、4.4.7、4.5.0、4.6.0、4.6.1、4.8.4、5.0.0、5.1.1、5.3.0、5.4.0、 5.5.0、5.6.0、5.7.0、5.7.1、5.8.0、5.9.1、6.0.0、6.1.0、6.2.2、6.3.0、6.5.0、6.6.0、6.7。 0、6.9.0、6.9.1、6.9.2、6.9.4、6.9.5、6.10.0、6.10.3、6.11.1、6.11.2、6.11.5、7.0.0、7.1.0、 7.2.0、7.3.0、7.4.0、7.5.0、7.6.0、7.7.0、7.7.4、7.10.0、7.10.1、8.0.0、8.1.4、8.4.0、8.5。 0、8.7.0、8.8.0、8.8.1、8.9.0。
    • 嗯,你有没有运行bower install 命令来安装所有的凉亭组件?该错误表明未安装jquery。并查看this answer 看看是否有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    • 1970-01-01
    • 2018-12-17
    • 1970-01-01
    • 2022-11-01
    • 2011-04-21
    • 2015-10-22
    相关资源
    最近更新 更多