首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Azure nmp应用上安装nmp几分钟后,node_modules就消失了

在Azure nmp应用上安装nmp几分钟后,node_modules就消失了
EN

Stack Overflow用户
提问于 2019-07-17 00:49:52
回答 1查看 258关注 0票数 1

我正在尝试通过bitbucket在Azure via应用上部署我的node.js应用。

当我在kudu控制台上检查wwwroot文件夹时,我找不到任何node_modules文件夹,因此应用程序无法启动

我已经在kudu控制台(在wwwroot文件夹中)中尝试过npm install和npm install --production,我可以看到通过filezilla安装node_modules和文件。然而,当我再次尝试启动应用程序时,node_modules就消失了,在kudu控制台和filezilla中都看不到它。

项目文件夹中的package.json文件:

代码语言:javascript
复制
{
  "name": "fo",
  "version": "1.0.0",
  "description": "xx xx xx",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "xx xx",
  "license": "MIT",
  "dependencies": {
    "angular-map-it": "0.0.20",
    "angular-maps": "^6.0.1",
    "angular-waypoints": "^2.0.0",
    "axios": "^0.19.0",
    "bcrypt": "^3.0.6",
    "bluebird": "^3.5.5",
    "body-parser": "^1.19.0",
    "connect-mongodb-session": "^2.2.0",
    "convert-json": "^0.5.0",
    "csvtojson": "^2.0.10",
    "dotenv": "^8.0.0",
    "express": "^4.17.1",
    "express-session": "^1.16.2",
    "fixed-width-string": "^1.0.0",
    "guid": "0.0.12",
    "json2csv": "^4.5.2",
    "jsontoxml": "^1.0.1",
    "moment": "^2.24.0",
    "moment-business-days": "^1.1.3",
    "money": "^0.2.0",
    "mongoose": "^5.6.4",
    "multer": "^1.4.1",
    "ng-storage": "^0.3.2",
    "node-crisp-api": "^1.8.3",
    "nodemailer": "^6.3.0",
    "objects-to-csv": "^1.0.1",
    "open-exchange-rates": "^0.3.0",
    "sanitize": "^2.1.0",
    "svg-assets-cache": "^1.1.3"
  }
}

我不明白,人们是怎么让node.js应用程序在azure上工作的?为什么node_modules正在消失?为什么azure不能根据我的package.json自动安装它们??

EN

回答 1

Stack Overflow用户

发布于 2019-08-22 13:30:49

Azure App Service理解package.json和npm-shenshwrap.json文件,并可以根据这些文件中的条目安装模块。

Azure应用程序服务不支持所有本机模块,并且在编译具有特定先决条件的模块时可能会失败。虽然一些流行的模块(如MongoDB )具有可选的本机依赖项,并且在没有它们的情况下也可以正常工作,但以下解决方法被证明是成功的,几乎所有的本机模块现在都可用:

导航到Kudu - https://yoursite.scm.azurewebsites.net/

找到wwwroot文件夹并运行install命令。

cd站点

cd wwwroot

npm安装

在安装了所有本机模块必备组件的Windows计算机上运行npm install。然后,将创建的node_modules文件夹作为应用程序的一部分部署到Azure应用程序服务。在编译之前,请检查您的本地Node.js安装是否具有匹配的体系结构以及版本是否尽可能接近于Azure中使用的版本(可以在运行时从属性process.arch和process.version检查当前值)。因此,请确保

Azure应用服务可以配置为在部署期间执行自定义bash或shell脚本,使您有机会执行自定义命令并精确配置npm安装的运行方式。有关如何配置该环境的视频,请参阅Custom Website Deployment Scripts with Kudu。请确保所有的配置都是适当的。如果问题仍然存在,请让我们知道您收到的具体错误消息(应用程序无法启动)以进行进一步调查,并查看此‘Best practices and troubleshooting guide for node applications on Azure App Service Windows’以了解有关该主题的更多详细信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57062072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档