【已解決】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解決,完美~

參考資料:

相關文章
相關標籤/搜索