Azure 的节点部署使用了错误的节点和 NPM
Azure's node Deploy uses wrong Node and NPM
当我部署到 Azure 网站时,节点 运行time 正确使用我在 package.json 中配置的 Nodejs,但是部署脚本使用服务器路径上的节点和 NPM。 (服务器路径混乱,路径中有两个节点版本。)
例如。我想要 nodejs 4.2.1 和 NPM >2
当我部署应用程序时,它使用 0.10.x 和 NPM 1.x.x。我的 rxjs 模块需要 NPM > 2,因此无法加载。
如果我部署避开包,我可以看到正确的 运行时间是 运行。
有办法解决这个问题吗?
您可以在Azure manage portal中简单地自定义nodejs版本。
在您的网站门户的 CONFIGUE 选项卡中,在 APP SETTINGS 部分下,nodejs 版本设置为 WEBSITE_NODE_DEFAULT_VERSION
为Azure默认的0.10.32
,我们可以直接将它的值改成你想要的4.2.1
。
修改网站设置后,点击底部导航栏的重启按钮。
登录您的KUDU控制台站点,您可以在cmdlet中查看nodejs版本。(站点URL应该是:https://{your site name}.scm.azurewebsites.net/DebugConsole
)
修改后nodejs版本为4.2.1,npm版本为3.3.9
您可以在 Specifying a Node.js version in an Azure application 获得更多信息。
还有至少 two other mentions 各种来源声称可以通过 package.js 进行设置:
"engines": {
"node": ">= 8.2.0 || 8.x.x",
"npm": ">= 5.3.0 || 5.x.x"
},
或通过网站根目录中的iisnode.yaml文件。哪一个能解决问题真的很难发现,因为您只能在应用程序运行时正确判断节点版本。
当我部署到 Azure 网站时,节点 运行time 正确使用我在 package.json 中配置的 Nodejs,但是部署脚本使用服务器路径上的节点和 NPM。 (服务器路径混乱,路径中有两个节点版本。)
例如。我想要 nodejs 4.2.1 和 NPM >2
当我部署应用程序时,它使用 0.10.x 和 NPM 1.x.x。我的 rxjs 模块需要 NPM > 2,因此无法加载。
如果我部署避开包,我可以看到正确的 运行时间是 运行。
有办法解决这个问题吗?
您可以在Azure manage portal中简单地自定义nodejs版本。
在您的网站门户的 CONFIGUE 选项卡中,在 APP SETTINGS 部分下,nodejs 版本设置为 WEBSITE_NODE_DEFAULT_VERSION
为Azure默认的0.10.32
,我们可以直接将它的值改成你想要的4.2.1
。
修改网站设置后,点击底部导航栏的重启按钮。
登录您的KUDU控制台站点,您可以在cmdlet中查看nodejs版本。(站点URL应该是:https://{your site name}.scm.azurewebsites.net/DebugConsole
)
修改后nodejs版本为4.2.1,npm版本为3.3.9
您可以在 Specifying a Node.js version in an Azure application 获得更多信息。
还有至少 two other mentions 各种来源声称可以通过 package.js 进行设置:
"engines": {
"node": ">= 8.2.0 || 8.x.x",
"npm": ">= 5.3.0 || 5.x.x"
},
或通过网站根目录中的iisnode.yaml文件。哪一个能解决问题真的很难发现,因为您只能在应用程序运行时正确判断节点版本。