Node.js Azure移动服务-如何降级库



导致问题的步骤:

  • 我已通过npm install --save nodemailer安装模块Nodemailer
  • 我已将此更改推送到存储库
  • require('nodemailer')抛出(相关SO问题(
  • Node.js版本为0.8(控制台中的"Selected node.js version 0.12.6. Use package.json file to choose a different version"行(
  • Nodemailer 1.0支持0.10+,但旧版本0.7支持v0.8
  • npm rm --save nodemailer
  • npm install nodemailer@0.7

问题:服务器上的Nodemailer版本仍然是1.0。从package.json中删除nodemailer的推送版本不会从服务器node_modules中删除此文件夹。

您可能需要使用Kudu调试控制台来更改一些设置。获取您的移动服务URL,并在服务名称后插入SCM,如下所示:

https://[theservicename]scm.azure-mobile.net

导航到该url,这将启动Kudu。选择调试控制台选项卡和CMD选项。

导航到"site\wwwroot\App_Data\config\scripts"并编辑package.json文件,直接更改NodeMailer版本。

接下来,导航到"site\wwwroot\App_Data\config\scripts\node_modules"。您应该看到已安装的节点模块。尝试删除NodeMailer文件夹。您可能需要重新启动移动服务才能进行删除。警告:您有备份版本还是本地版本?

重新启动移动服务将触发依赖项的自动下载。

最新更新