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

Ubuntu 22.04下通过Snap安装Node后,非root用户无法使用npm问题

问题分析与解决

这不是Snap安装Node的预期行为,npm应该对所有用户正常可用。从报错信息-bash: /usr/bin/npm: No such file or directory来看,问题根源是系统在寻找旧路径的npm文件,和你之前通过apt安装后卸载的残留影响有关,具体解决步骤如下:

1. 检查并修复用户PATH环境变量

非特权用户的PATH可能未包含Snap程序的默认目录/snap/bin,导致系统找不到npm。

  • 先查看当前PATH:
    echo $PATH
    
  • 如果输出里没有/snap/bin,临时添加(重启终端后失效):
    export PATH="/snap/bin:$PATH"
    
  • 要永久生效,编辑用户的bash配置文件:
    nano ~/.bashrc
    
    在文件末尾添加一行:
    export PATH="/snap/bin:$PATH"
    
    保存退出后,执行以下命令使配置生效:
    source ~/.bashrc
    

2. 清除bash命令缓存

如果PATH里已经有/snap/bin,那是bash缓存了之前apt安装的npm路径(/usr/bin/npm),即使文件已删除,bash仍会优先找缓存的路径。执行以下命令清除缓存:

hash -r

之后重新执行npm --version即可正常调用Snap安装的npm。

3. 验证/snap/bin目录权限

确保所有用户能访问/snap/bin目录:

ls -ld /snap/bin

正常权限应为drwxr-xr-x,如果权限异常,执行以下命令修复:

sudo chmod 755 /snap/bin

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 00:55:02