angular - Azure 构建失败,“ng”无法识别
问题描述
我正在尝试使用 azure +"kudu" 部署 Angular 应用程序。在构建脚本中它没有选择“Ng 关键字”。
我已将默认节点版本设置为更高版本
角度依赖项也添加到依赖项列表中。
我已经尝试了互联网上几乎所有的解决方案,但无法完成这项工作,有人可以帮我解决这个问题吗
构建脚本结果
Command: deploy.cmd
D:\home\site\repository\
D:\home\site\repository\..\artifacts
D:\home\site\wwwroot
D:\home\site\repository
Handling node.js deployment.
before npm install
Looking for app.js/server.js under site root.
Invalid start-up command "ng serve" in package.json. Please use the format "node <script relative path>".
The package.json file does not specify node.js engine version constraints.
Missing server.js/app.js files, web.config is not generated
The node.js application will run with the default node.js version 10.6.0.
'ng' is not recognized as an internal or external command,
Selected npm version 6.1.0
operable program or batch file.
after npm install
npm ERR! code ELIFECYCLE
package json exist
npm ERR! errno 1
if angular json exists
npm ERR! frontend-angular-app@0.0.0 build: `ng build --prod`
Building app in "D:\home\site\repository"
npm ERR! Exit status 1
我的 package.json
{
"name": "frontend-angular-app",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build --prod",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "^6.1.0",
"@angular/common": "^6.1.0",
"@angular/compiler": "^6.1.0",
"@angular/core": "^6.1.0",
"@angular/cli": "~6.1.3",
"@angular/compiler-cli": "^6.1.0",
"@angular/forms": "^6.1.0",
"@angular/http": "^6.1.0",
"@angular/platform-browser": "^6.1.0",
"@angular/platform-browser-dynamic": "^6.1.0",
"@angular/router": "^6.1.0",
"@angular-devkit/build-angular": "~0.7.0",
"@angular/language-service": "^6.1.0",
"ag-grid-angular": "^19.1.1",
"ag-grid-community": "^19.1.1",
"angular2-moment": "^1.9.0",
"bootstrap": "^4.1.3",
"chart.js": "^2.7.3",
"core-js": "^2.5.4",
"font-awesome": "^4.7.0",
"moment": "^2.22.2",
"rxjs": "^6.0.0",
"xlsx": "^0.14.0",
"zone.js": "~0.8.26"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.7.0",
"@angular/language-service": "^6.1.0",
"@types/jasmine": "~2.8.6",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
"codelyzer": "~4.2.1",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~1.7.1",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.0",
"karma-jasmine": "~1.1.1",
"karma-jasmine-html-reporter": "^0.2.2",
"ng2-chartjs2": "^1.2.0",
"protractor": "~5.3.0",
"ts-node": "~5.0.1",
"tslint": "~5.9.1",
"typescript": "~2.7.2"
}
}
我的 build.cmd
IF EXIST "%DEPLOYMENT_TARGET%\package.json" (
echo package json exist
pushd "%DEPLOYMENT_TARGET%"
call :ExecuteCmd !NPM_CMD! install --production
IF !ERRORLEVEL! NEQ 0 goto error
popd
)
echo after npm install
IF EXIST "%DEPLOYMENT_SOURCE%\angular.json" (
echo if angular json exists
echo Building app in "%DEPLOYMENT_SOURCE%"
call :ExecuteCmd !NPM_CMD! run build
IF !ERRORLEVEL NEQ 0 goto error
popd
)
echo build done
:: 1. 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.
in azure application settings
WEBSITE_NODE_DEFAULT_VERSION:10.6.0
解决方案
推荐阅读
- ios - 如何将数据从一个视图控制器类获取到另一个视图控制器类中以在 TableView 中显示
- json - 从 Ionic 3 迁移到 Ionic 5 - 用户数据上的 Json 函数
- .net - 无法使用 dotnet cli 删除 nuget 包
- machine-learning - LibriSpeecch 数据集的 dev-clean 文件夹
- java - 如何在我的存储库中显示最近 10 次搜索的列表
- mysql - vscode调试器意外的toke'import'
- java - 单击通知时应用程序崩溃
- c - 如何在 C 中读取文件并同时创建具有行数的变量?
- ruby-on-rails - 如何使用 FriendlyID 区分属于不同模型的路由/URL 中的 :ids?
- swift - 使用组合解析电话号码字符串