Node.js Azure 移动服务 - 如何降级库?
Node.js Azure Mobile Services - how to downgrade library?
导致问题的步骤:
- 我已经通过
npm install --save nodemailer
安装了模块 Nodemailer
- 我已将此更改推送到存储库
require('nodemailer')
抛出 (related SO question)
- 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。 Select 调试控制台选项卡和 CMD 选项。
导航到 "site\wwwroot\App_Data\config\scripts" 并编辑 package.json 文件,直接更改 NodeMailer 版本。
接下来,导航到 "site\wwwroot\App_Data\config\scripts\node_modules"。您应该看到已安装的节点模块。尝试删除 NodeMailer 文件夹。您可能需要重新启动移动服务才能使删除生效。警告:您有备份或本地版本吗?
重新启动您的移动服务将触发依赖项的自动下载。
导致问题的步骤:
- 我已经通过
npm install --save nodemailer
安装了模块 - 我已将此更改推送到存储库
require('nodemailer')
抛出 (related SO question)- 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
问题:服务器上的 Nodemailer 版本仍然是 1.0。从 package.json
中删除了 nodemailer 的推送版本不会从服务器 node_modules
.
您可能想使用 Kudu 调试控制台更改一些设置。获取您的移动服务 URL 并在服务名称后插入 SCM,如下所示:
https://[theservicename].scm.azure-mobile.net
导航到 url,这将启动 Kudu。 Select 调试控制台选项卡和 CMD 选项。
导航到 "site\wwwroot\App_Data\config\scripts" 并编辑 package.json 文件,直接更改 NodeMailer 版本。
接下来,导航到 "site\wwwroot\App_Data\config\scripts\node_modules"。您应该看到已安装的节点模块。尝试删除 NodeMailer 文件夹。您可能需要重新启动移动服务才能使删除生效。警告:您有备份或本地版本吗?
重新启动您的移动服务将触发依赖项的自动下载。