Ubuntu下cuda-toolkit-12-6与nvidia-cuda-toolkit的区别及nvcc缺失问题
解决Ubuntu上CUDA Toolkit安装后nvcc无法调用的问题
一、你遗漏的关键步骤
你安装的官方cuda-toolkit-12-6包本身没有问题,但它的二进制文件路径没有自动添加到系统环境变量里,导致终端找不到nvcc命令。
快速解决方法:
- 临时生效(重启终端后失效):
export PATH=/usr/local/cuda-12.6/bin:$PATH - 永久生效(针对bash终端):
- 编辑
~/.bashrc文件:nano ~/.bashrc - 在文件末尾添加上述
export命令 - 保存退出后执行:
source ~/.bashrc
- 编辑
- 如果你用zsh终端,改为编辑
~/.zshrc,步骤同上。
二、两个CUDA包的核心区别
1. 来源与版本差异
cuda-toolkit-12-6:NVIDIA官方提供的包,版本精准对应CUDA 12.6,能获取最新的CUDA特性和更新,版本迭代快。nvidia-cuda-toolkit:Ubuntu官方仓库维护的包,版本通常滞后于NVIDIA官方(比如可能停留在CUDA 11.x),适合追求系统稳定性但不需要最新CUDA的场景。
2. 安装路径与环境变量
- 官方包默认安装在
/usr/local/cuda-12.6/,通过/usr/local/cuda软链接指向当前版本,不会自动添加到PATH,需要手动配置。 - Ubuntu仓库包的工具分散在系统默认目录(如
/usr/bin/),安装后自动加入PATH,所以装完就能直接用nvcc。
3. 内容完整性
- 官方包包含完整的CUDA开发工具链、适配的cuDNN组件、示例代码、文档等,是NVIDIA官方推荐的完整开发环境。
- Ubuntu仓库包是简化打包版本,部分组件可能和官方版有差异,适合快速搭建基础开发环境。
三、新手配置CUDA的完整流程
- 先验证驱动兼容性:
执行nvidia-smi查看当前NVIDIA驱动版本,CUDA 12.6要求驱动版本≥535.86.05,版本不够的话先更新驱动。 - 配置环境变量:
除了PATH,建议同时添加库路径(避免后续运行CUDA程序报错),在~/.bashrc末尾添加:
执行export PATH=/usr/local/cuda-12.6/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-12.6/lib64:$LD_LIBRARY_PATHsource ~/.bashrc生效。 - 验证配置成功:
重新打开终端,执行nvcc --version,应该能显示CUDA 12.6的版本信息;再执行nvidia-smi,确认驱动版本满足要求。 - 后续版本切换:
如果以后要换CUDA版本,只需修改/usr/local/cuda软链接指向新的版本目录,再更新环境变量里的版本号即可。
内容的提问来源于stack exchange,提问作者Dwight Schrute
相关产品推荐
相关产品推荐

