azure-web-app-service - 使用补丁包模块部署 Azure 应用服务节点
问题描述
我正在尝试在 Azure 应用服务(通过 BitBucket 的持续集成部署)上的节点应用部署期间运行补丁包。补丁包脚本在本地(在 Mac 上)运行良好,但在 Azure (Windows) 上失败。补丁包模块安装在 node_modules 中,但安装后脚本失败并出现以下错误:
命令:“D:\home\site\deployments\tools\deploy.cmd” 处理 node.js 部署。创建 app_offline.htm KuduSync.NET 从:'D:\home\site\repository' 到:'D:\home\site\wwwroot' 删除 app_offline.htm 在站点根目录下寻找 app.js/server.js。使用启动脚本 app.js 生成 web.config。package.json 文件没有指定 node.js 引擎版本约束。node.js 应用程序将使用默认的 node.js 版本 14.16.0 运行。选定的 npm 版本 6.14.11
my-app@1.0.0 安装后 D:\home\site\wwwroot 补丁包
'patch-package' 不是内部或外部命令、可运行程序或批处理文件。npm 错误!代码 ELIFECYCLE npm 错误!errno 1 npm 错误!rs-email-yelp@1.0.0 安装后:
patch-package
npm 错误!退出状态 1
这是我的(简化的)package.json 文件:
{
"name": "my-app",
"version": "1.0.0",
"description": "",
"main": "app.js",
"private": true,
"dependencies": {
...
"patch-package": "^6.4.4",
...
},
"scripts": {
"postinstall": "patch-package"
}
}
当我尝试npm i
在 Kudu 命令行中手动运行时,我得到了同样的错误。
解决方案
万一其他人有这个问题,这就是为我解决的问题:
- 停止 Web 应用程序 - 删除 node_modules 文件夹 - 从 git repo 运行新部署(重新安装所有模块)
一切恢复正常。
推荐阅读
- javascript - 单选按钮显示/隐藏输入都需要
- react-native - redux-persist:重新启动应用程序后不与组件图像一起显示的图像uri
- json - json.Marshal 未提升的字段被排除在外
- qt - 有人如何使用 Qt WebEngineView 授予从麦克风功能捕获音频的权限
- java - 如何从 apache shiro 登录表单中提取会话值?
- ios - 无法在 Xcode 的 iphone 模拟器中输入密码来创建帐户
- python - 以类似于 Windows Scheduler 的方式在 Mac 上安排脚本作业(主要是 Python)的最佳方式?
- javascript - TypeError:无法读取算法交易中未定义的属性“then”
- laravel - 如果依赖字段无效,如何停止验证字段?- 拉拉维尔
- python - libvlc - 在视频之间保持窗口打开