Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Azure nodejs web应用在部署中缺少npm包_Node.js_Azure_Npm_Azure Devops_Azure Pipelines - Fatal编程技术网

Node.js Azure nodejs web应用在部署中缺少npm包

Node.js Azure nodejs web应用在部署中缺少npm包,node.js,azure,npm,azure-devops,azure-pipelines,Node.js,Azure,Npm,Azure Devops,Azure Pipelines,因此,我尝试使用git回购协议中的Azure管道部署Azure web应用程序。该项目在本地运行良好,但上传时显示缺少一个包is docker(实际上我得到了一个enoint文件或dir not found错误)。我没有使用docker,我想Azure只是想检查我是否使用docker,尽管我还没有安装这个软件包。 我正在本地和azure上使用node 10.x和npm 6.14。我正在Linux(ubuntu 20)上部署azure web应用程序 我真的很感谢你的帮助 编辑 我在package

因此,我尝试使用git回购协议中的Azure管道部署Azure web应用程序。该项目在本地运行良好,但上传时显示缺少一个包
is docker
(实际上我得到了一个enoint文件或dir not found错误)。我没有使用docker,我想Azure只是想检查我是否使用docker,尽管我还没有安装这个软件包。

我正在本地和azure上使用node 10.x和npm 6.14。我正在Linux(ubuntu 20)上部署azure web应用程序

我真的很感谢你的帮助

编辑 我在package.json中添加了package is docker,但问题仍然存在

编辑2 Azure.yml文件

# Node.js Express Web App to Linux on Azure
# Build a Node.js Express app and deploy it to Azure as a Linux web app.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript

trigger:
  branches:
    - dev
    - master

variables:
  # Azure Resource Manager connection created during pipeline creation
  azureSubscription: 'XXXX'

  # Web app name
  webAppName: 'XXXX'

  # Environment name
  environmentName: 'XXXX'

  # Agent VM image name
  vmImageName: 'ubuntu-latest'

stages:
  - stage: Build
    displayName: Build stage
    jobs:
      - job: Build
        displayName: Build
        pool:
          vmImage: $(vmImageName)

        steps:
          - task: NodeTool@0
            inputs:
              versionSpec: '10.x'
            displayName: 'Install Node.js'

          - script: |
              npm install
              npm run build --if-present
              npm run test --if-present
            displayName: 'npm install, build and test'

          - task: ArchiveFiles@2
            displayName: 'Archive files'
            inputs:
              rootFolderOrFile: '$(System.DefaultWorkingDirectory)'
              includeRootFolder: false
              archiveType: zip
              archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
              replaceExistingArchive: true

          - upload: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
            artifact: drop

  - stage: Deploy
    displayName: Deploy stage
    dependsOn: Build
    condition: succeeded()
    jobs:
      - deployment: Deploy
        displayName: Deploy
        environment: $(environmentName)
        pool:
          vmImage: $(vmImageName)
        strategy:
          runOnce:
            deploy:
              steps:
                - task: AzureWebApp@1
                  displayName: 'XXXXXX'
                  inputs:
                    azureSubscription: $(azureSubscription)
                    appType: webAppLinux
                    appName: $(webAppName)
                    runtimeStack: 'NODE|10.10'
                    package: $(Pipeline.Workspace)/drop/$(Build.BuildId).zip
                    startUpCommand: 'npm run deploy'
json包中的脚本

    "scripts": {
    "test": "echo \"Error: no test specified\"",
    "start": "cross-env NODE_ENV=production node -r dotenv/config .",
    "dev": "ts-node-dev -r dotenv/config ./src/app.ts",
    "build": "tsc",
    "deploy": "tsc && cross-env NODE_ENV=production node -r dotenv/config ."
},

错误
错误:enoint:没有这样的文件或目录,stat'/home/site/wwwroot/node\u modules/.bin/is docker'
感谢所有帮助人员。我刚搬到Azure去买容器。我想我发现了这个问题,这与我使用了许多与主机操作系统相关的复杂库有关的软件包(我使用的是windows,我的团队的其他3名成员使用的是Mac和2种不同风格的Linux)以及Azure并非每次都使用相同的映像类型有关


不管怎么说,azure容器web应用程序看起来更稳定,dockerhub真的很容易拥有,所以我暂时没有任何问题。反正我要搬到集装箱去,所以。。。你呢?

谢谢所有帮助你的人。我刚搬到Azure去买容器。我想我发现了这个问题,这与我使用了许多与主机操作系统相关的复杂库有关的软件包(我使用的是windows,我的团队的其他3名成员使用的是Mac和2种不同风格的Linux)以及Azure并非每次都使用相同的映像类型有关


不管怎么说,azure容器web应用程序看起来更稳定,dockerhub真的很容易拥有,所以我暂时没有任何问题。反正我要搬到集装箱去,所以。。。你呢?

除非你把YAML文件放在这里,否则我没有具体的答案。同时,其中一个回购协议为azure管道提供了一个工作YAML示例。看看这里-如果你不使用docker包,为什么要添加它。停止做随机的事情。问题在别处。@Jay我知道情况并非如此,我只想检查是否会出现另一个错误,然后用新错误进行搜索。我已经用经典编辑器创建了管道,而不是yaml文件,所以我将上传一些截图。是的。我和你在同一条船上。使用经典编辑器很长一段时间,但随着我的项目变得复杂,它变得越来越困难。最终我意识到经典编辑器只是为了学习基础知识。对于真正的工作,YAML是一种选择。另外,使用classic editor,你必须不断地放屏幕截图,这很慢,而且这样显示你的项目细节可能不是一个好主意。我已经给出了一个示例链接,您可以将其用作起点。我没有一个具体的答案,除非你把YAML文件放在这里。同时,其中一个回购协议为azure管道提供了一个工作YAML示例。看看这里-如果你不使用docker包,为什么要添加它。停止做随机的事情。问题在别处。@Jay我知道情况并非如此,我只想检查是否会出现另一个错误,然后用新错误进行搜索。我已经用经典编辑器创建了管道,而不是yaml文件,所以我将上传一些截图。是的。我和你在同一条船上。使用经典编辑器很长一段时间,但随着我的项目变得复杂,它变得越来越困难。最终我意识到经典编辑器只是为了学习基础知识。对于真正的工作,YAML是一种选择。另外,使用classic editor,你必须不断地放屏幕截图,这很慢,而且这样显示你的项目细节可能不是一个好主意。我已经给出了一个示例链接,您可以将其用作起点。这是测试和工作。嗨@George T,谢谢你的分享,你可以接受你的答案。在这种情况下,其他人可以直接找到有用的解决方案。@George T,既然您切换到容器,您是否有任何问题使您后悔与Azure web应用程序相比切换?您好@George T,感谢您的分享,您可以接受您的答案。在这种情况下,其他人可以直接找到有用的解决方案。@George T,自从您切换到容器,您是否有任何问题使您后悔与Azure web应用程序相比切换了容器?