You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行旧版NPM的Azure App Services如何升级NPM版本?

Azure App Service Node v14环境NPM版本升级方案

完全可以在该环境下完成NPM版本升级,此前操作未生效的原因如下:

Azure App Service Linux运行环境中,预装的Node.js及对应NPM位于系统级路径/usr/local/bin,使用sudo执行全局安装的NPM会默认写入系统其他目录,不加sudo的全局安装会写入用户级NVM路径/usr/local/nvm/versions/node/[对应v14版本号]/bin。由于系统路径优先级默认高于用户路径,执行npm命令时会优先调用预装的6.14版本,导致升级看似未生效。

操作步骤

方案1:SSH会话内临时生效

仅在当前SSH连接窗口生效,断开重连后会恢复默认版本:

  • 执行升级命令,不要加sudo:
    npm install -g npm@8

注:Node v14最高兼容NPM 8.x版本,升级到更高版本会出现兼容性报错

  • 调整当前会话PATH优先级,将用户安装的NPM路径前置:
    export PATH=/usr/local/nvm/versions/node/$(node -v)/bin:$PATH
  • 验证版本:
    npm -v

方案2:永久生效(应用重启后仍保留)

  • 在项目根目录新建初始化脚本npm_init.sh,写入以下内容:
#!/bin/bash
npm install -g npm@8 --silent
export PATH=/usr/local/nvm/versions/node/$(node -v)/bin:$PATH
# 替换为你项目的实际启动命令,如node server.js
npm start
  • 进入Azure App Service门户,依次打开「配置」->「常规设置」->「启动命令」,填写:
    bash /home/site/wwwroot/npm_init.sh
  • 保存配置并重启应用即可。

注意事项

  • 不要使用sudo执行npm全局安装命令,会导致文件权限异常,且安装路径与用户路径不匹配无法被优先调用
  • 生产环境建议指定确定的NPM版本安装,避免latest标签拉取到不兼容的版本

内容的提问来源于stack exchange,提问作者jcdsr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 06:15:03