由于 windows 自带的 terminal 很差用,因此本身就一直用的 wsl:ubuntu ,间接的使用 linux 命令行。最近,换了新电脑,遇到个问题,以下图node
明明我已经全局安装了 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/bin
的 PATH
便可
export PATH=$PATH:/usr/local/nodejs/bin
复制代码
而后,保存 .bashrc
文件
source ~/.bashrc
复制代码
此时验证:
create-react-app demo
git-cz
复制代码
都成功了!!!
bug解决,完美~