【已解决】wsl:ubuntu install 安装成功可是执行失败问题

问题描述:

由于 windows 自带的 terminal 很差用,因此本身就一直用的 wsl:ubuntu ,间接的使用 linux 命令行。最近,换了新电脑,遇到个问题,以下图node

create-react-app 执行失败

明明我已经全局安装了 create-react-app ,可是执行该命令的时候却告诉我找不到?!!react

我的猜想是环境变量的问题,可是不知道怎么配置和修改,让人头大。linux

踩坑

以前安装的时候遇到过相似的问题,可是我使用 软连接 ln -s 的方式解决了,参考 wsl:ubuntu / linux 安装 nodejs ,npm和 cnpm,此次我也使用一样的方式操做,可是却不行,报错为:git

ln: failed to create symbolic link '/usr/local/nodejs/bin/xxx': File exists
复制代码

即已经有软连接了,说明,不是软连接问题。npm

此时,就进一步证实,咱们 执行软连接 失败了,这是为何呢?新安装的东西都在 nodejs/bin 目录下,而我也能够执行 node 命令,难道安装在 nodejs/bin 目录下的全部依赖都没法执行吗?ubuntu

为了测试个人猜测,我安装了 git-cz ,测试windows

# git-cz
npm install -g git-cz
git-cz

# command not found

whereis git-cz

# git-cz:
复制代码

此时,验证了个人猜测,nodejs/bin 目录下的全部依赖都没法执行bash

解决办法

因为本身对 linux 了解的不够深,在搜索资料和群友的助攻下,终于知道了几个关键点:app

# $PATH 拿到的结果中发现,没有
> echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/e/software/cmder/vendor/conemu-maximus5/ConEmu/Scripts:/mnt/e/software/cmder/vendor/conemu-maximus5:/mnt/e/software/cmder/vendor/conemu-maximus5/ConEmu:/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/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/mnt/c/Program Files/NVIDIA Corporation/NVIDIA NvDLISR:/mnt/e/software/Git/cmd:/mnt/e/software/nodejs/:/mnt/c/Users/jin/AppData/Local/Microsoft/WindowsApps:/mnt/e/software/Microsoft VS Code/bin:/mnt/c/Users/jin/AppData/Roaming/npm:/snap/bin

复制代码

这里,须要给 nodejs/bin 目录添加到 $PATH测试

具体作法,在 .bashrc 中最后一行加上 nodejs/binPATH 便可

export PATH=$PATH:/usr/local/nodejs/bin
复制代码

而后,保存 .bashrc 文件

source ~/.bashrc
复制代码

此时验证:

create-react-app demo

git-cz

复制代码

都成功了!!!

bug解决,完美~

参考资料:

相关文章
相关标签/搜索