bash
sudo snap install curl # version 8.20.0
bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
bash
(base) lynn@lynnPC:~$ nvm --version
0.39.7
bash
2、安装node.js(LTS版本)
https://nodejs.org/en/download
nvm install 20.20.2
破案了!看到这么长一串重复的警告信息,真正的"凶手"其实已经浮出水面了:**你正在使用 Snap 版本的 curl**。
这次的 Permission denied 根本不是你文件权限配置错了,而是 Ubuntu(或你所使用的 Linux 发行版)的 Snap 沙盒机制在捣鬼。
为什么会这样?
你看警告信息里有一句非常关键的话:
"Due to Snap's sandbox nature... it may not be able to access hidden folders in your home directory."
(由于 Snap 的沙盒特性......它可能无法访问你主目录下的隐藏文件夹。)
nvm 是把 Node.js 下载到 ~/.nvm 这个目录下的。在 Linux 中,以 . 开头的文件夹都是隐藏文件夹 。因为你安装的 curl 是 Snap 版本的,它被关在一个严格的沙盒里,系统完全禁止它往你的隐藏文件夹里写东西。所以每次它刚准备把压缩包写进 .nvm/.cache 时,就被系统一脚踹开了,报出"权限被拒绝"。
终极解决办法
我们要做的就是把这个受限的 Snap 版 curl 卸载掉,换回系统原生的、没有限制的 curl。请依次执行以下命令:
1. 卸载 Snap 版本的 curl
bash
sudo snap remove curl
2. 安装原生(apt)版本的 curl
bash
sudo apt update
sudo apt install curl
3. 再次尝试安装 Node.js
换成正常的 curl 之后,再次执行你的安装命令,这次绝对不会再因为沙盒权限卡住了(同样记得不要加 sudo):
bash
nvm install 22.22.2
(注:如果换了 curl 之后还是提示找不到文件,那可能说明目前 Node.js 官方确实还没有 22.22.2 这个特定的补丁号。你可以先运行 nvm install 22 来安装 22 大版本的最新稳定版,或者运行 nvm install --lts 安装最新的长期支持版。)
快去试一下把 curl 换掉,一定能搞定!
bash
既然你已经用原生的 `curl` 顺利搞定了 Node.js 的安装,想要把原先的 Snap 版本装回来,操作非常简单。
只需要在终端中运行以下两步:
1. 卸载当前的 apt 版本(避免两个版本产生冲突)
bash
sudo apt remove curl
2. 重新安装 Snap 版本的 curl
bash
sudo snap install curl
💡 一点坦诚的小建议:
虽然你可以随时把它装回来,但我一般建议开发者直接保留 apt 版本的 curl,不用再换回 Snap 版了。
原因在于,像 curl 这种基础的系统网络工具,在日常开发中经常需要和系统里的各种隐藏文件、配置目录打交道。Snap 版本的沙盒机制虽然提升了安全性,但对于开发者来说往往意味着无尽的权限折磨(就像你刚才经历的一样)。
如果你重新装回 Snap 版本,下次你再使用 nvm install 安装其他版本的 Node.js 时,依旧会被沙盒拦截,重演同样的报错。 当然,如果你有某个特定的应用或者工作流强制要求必须使用 Snap 版的 curl,那就按照上面的命令装回来就好!下次如果再用 nvm,记得还要再临时换一下。
bash
nvm list
node --version
bash
1、Ubuntu22.04上安装NVM:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm --version
2、安装node.js(LTS版本)
https://nodejs.org/en/download
nvm install 20.20.2
配置淘宝源:
npm config set registry https://registry.npmmirror.com # 这里不明白
npm config get registry # 查看是否源已经改为淘宝地址了
3、通过node.js安装Claude Code:
npm install -g @anthropic-ai/claude-code
4、cc-switch下载地址:https://github.com/farion1231/cc-switch/releases
安装命令:sudo dpkg -i CC-Switch-v3.12.1-Linux-x86_64.deb
5、国产大语言模型:
🚀 MiniMax Token Plan https://platform.minimaxi.com/subscribe/token-plan?code=9fXZLlx83X&source=link
👉GLM智谱:https://www.bigmodel.cn/glm-coding?ic=OHWN88NJMY
通过 AI 编程工具接入 - MiniMax 开放平台文档中心
Claude Code - 智谱AI开放文档