我在wsl中配置PATH变量时遇到问题。
我安装了MinGW,我想在wsl终端中使用命令gcc。所以我把gcc.exe的路径放在. bashrc中。gcc.exe的路径出现在PATH变量中,但该命令不起作用。使用powershell,命令正常工作,因为我把gcc.exe的路径放在windows中。
我已经尝试了我在网上找到的所有解决方案,但没有一个有效。
felipe@Diana:/mnt/c/MinGW/bin$ gcc --version
Command 'gcc' not found, but can be installed with:
sudo apt install gcc
felipe@Diana:/mnt/c/MinGW/bin$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/Windows/system32:/mnt/c/Windows:/mnt/c/Windows/System32/Wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows/System32/OpenSSH/:/mnt/d/Arquivos de Programas/Git/cmd:/mnt/c/Program Files/dotnet/:/mnt/c/Program Files/PostgreSQL/15/bin:/mnt/c/Program Files (x86)/dotnet/:/mnt/c/Program Files/nodejs/:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Users/Felipe/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Felipe/AppData/Local/Programs/Microsoft VS Code/bin:/mnt/c/Users/Felipe/AppData/Roaming/npm:/mnt/c/MinGW/bin:/snap/bin:/mnt/c/Program Files/nodejs/:/mnt/c/MinGW/bin/
felipe@Diana:/mnt/c/MinGW/bin$ ls
addr2line.exe gcc-ar.exe ld.exe libmpc-3.dll mingw32-gcc-nm.exe readelf.exe
ar.exe gcc-nm.exe libatomic-1.dll libmpfr-4.dll mingw32-gcc-ranlib.exe size.exe
as.exe gcc-ranlib.exe libcharset-1.dll libquadmath-0.dll mingw32-gcc.exe strings.exe
c++.exe gcc.exe libgcc_s_dw2-1.dll libssp-0.dll mingw32-make.exe strip.exe
c++filt.exe gcov-tool.exe libgmp-10.dll libstdc++-6.dll mingwm10.dll windmc.exe
cpp.exe gcov.exe libgomp-1.dll mingw-get.exe nm.exe windres.exe
dlltool.exe gdb.exe libiconv-2.dll mingw32-c++.exe objcopy.exe zlib1.dll
dllwrap.exe gdbserver.exe libintl-8.dll mingw32-g++.exe objdump.exe
elfedit.exe gprof.exe libisl-15.dll mingw32-gcc-6.3.0.exe pthreadGC-3.dll
g++.exe ld.bfd.exe libmingwex-0.dll mingw32-gcc-ar.exe ranlib.exe
felipe@Diana:/mnt/c/MinGW/bin$ tail -n 3 ~/.bashrc
export PATH="$PATH:/mnt/c/Program Files/nodejs/"
export PATH="$PATH:/mnt/c/MinGW/bin/"
这不是我第一次遇到这个问题。当我通过浏览器安装node时,我也试图将它放在PATH中,但它不起作用。我不得不卸载它,并通过终端重新安装它才能工作。
1条答案
按热度按时间des4xlb01#
我发现了问题所在。PATH变量是正确的,命令行确实能够执行gcc,但是,它只在我键入gcc.exe时才起作用。看起来wsl在正确识别命令方面有问题,只有当你用“.exe”键入它时才能工作。
为了解决这个问题,我在.bashrc文件中添加了“alias gcc =“gcc.exe””。现在,对于我想添加到PATH变量的所有新命令,我还需要添加别名,以便它正常工作。