解決「npm不是內部或外部命令「

  在使用npm的時候,或者是經過npm下載了一些包,使用這些包的時候,有時候會遇到「npm 不是內部或外部命令」,或者「XXX 不是內部或外部命令」。這種狀況通常都是因爲安裝node.js的時候,環境變量沒有配置好。這裏把如何配置環境變量作個筆記,以供參考。node

  1、安裝nodenpm

  npm是nodejs的一個子內容,因此要使用npm,就必定要先安裝nodejs。安裝方法其實沒啥好說的,徹底傻瓜化的,官網上下載安裝包,一路next就完了。windows

  安裝完了如何判斷本身是否安裝成功呢?緩存

  你只須要在命令行窗口中輸入命令:  工具

node -v    //查看node 的版本號

npm -v   //查看npm的版本號

  只要有輸出版本號,就說明你安裝成功了。以下圖所示:spa

   

  須要注意的是,nodejs的默認安裝路徑是C:\Program Files\nodejs。可是咱們每每不想把軟件都安裝到C盤。好比我須要把nodejs安裝到F盤,那麼除了在安裝時要選擇本身的安裝路徑,接下來必定要作必定的配置,由於你的安裝目錄變了,若是還沿用默認的一些安裝的參數,那麼就容易出現問題,致使npm或者你下載的包沒法使用操作系統

  2、配置命令行

  假設,我把nodejs的安裝根目錄設置爲F:\nodejs。那麼,安裝完畢後,咱們看到該目錄下有這些文件3d

  

  除了這個目錄,其實在C盤的另一個目錄下,還有一個附帶生成的目錄【C:\Users\用戶名\AppData\Roaming\npm】,這個目錄是用來存放你經過npm全局安裝的包。好比,若是你經過「npm i nrm -g」全局下載nrm這個工具,那麼下載的文件就會被保存到「【C:\Users\用戶名\AppData\Roaming\npm】」這個目錄下。code

  既然nodejs的安裝目錄都不想放到C盤,那麼經過npm下載的包更不想放在C盤。我但願統一管理,把npm全局下載的包都保存到nodejs的根目錄下,也就是「F:\nodejs」這個路徑下。因此咱們就必須作一些響應的設置了。

  第一步,在「F:\nodejs」目錄下建立「node_global"和」node_cache"2個子目錄。

  

  其中node_cache是做爲緩存目錄來使用的,node_global就是全局下載文件的目錄。

  接下來要作參數設置,不然,默認的仍是往【C:\Users\用戶名\AppData\Roaming\npm】這個目錄下保存全局下載文件。

  第二步、設置參數,指定全局下載文件的目錄

  首先打開命令窗口,而後輸入:  

npm config set prefix "F:\nodejs\node_global"
npm config set cache "F:\nodejs\node_cache"

  這一步就完成了。

  第三步、設置windows操做系統全局環境變量

  這裏先簡單介紹下什麼是系統全局環境變量。咱們通常用戶還真不多用它,由於咱們絕大多數的用戶都是使用windows系統的圖形化界面來使用電腦的,不多會用到命令行工具,因此不知道什麼是系統環境變量是很正常的一件事情。

  在咱們使用cmd命令窗口時,通常就是要經過一些命令來作一些操做(好像是廢話)。當咱們在命令行窗口輸入「dir",點擊回車就會顯示出當前目錄的全部內容。爲何命令窗口能認識」dir「這個命令呢?緣由是,當咱們在cmd命令窗口輸入任何命令,系統首先會在當前目錄下去找,有沒有這個命令對應的可執行程序,若是有,就執行之;若是沒有,系統就會按照windows操做系統的一個叫作」path「的系統環境變量裏去尋找已經設置過的目錄,這個名爲」path「的系統環境變量能夠記錄一組,也就是N個路徑,若是輸入的命令不能在當前目錄下找到對應的可執行程序,那麼就會去」path「這個變量裏記錄的全部的目錄下,依次尋找你輸入的命令對應的可執行程序,若是找到了就馬上執行。若是path裏記錄的全部目錄下都沒有找到,那麼就會在命令行下提示你:」XXX 不是內部或外部命令「。

  這下你應該知道環境變量是幹什麼的了吧。接下來就開始設置,這裏以win7系統爲例。

  首先,在桌面」計算機「->"屬性「,打開以下圖所示的界面

  

  而後,按箭頭所示,依次點擊」高級系統設置「->」高級「->」環境變量「。這時打開系統環境變量設置窗口,以下圖所示:

  

  這個窗口分爲上下兩個部分,上半部分是「用戶變量」它只針對當前登陸windows的帳戶起做用。下半部分是「系統變量」,對整個操做系統起做用。

  (1)在系統變量這一欄中,點擊「新建」按鈕,添加一個變量名「NODE_PATH",值爲」F:\nodejs\node_global\node_modules「。若是所示:

  

  而後點擊肯定,這一步是關鍵。

  (2)在用戶變量這一部分,找到」path「變量,並修改成」F:\nodejs\node_global\「,若是用戶變量裏沒有」path「變量,那麼就建立一個。如圖所示:

  

  這一步也很是關鍵,因爲咱們前面改變了module的默認路徑,這一步若是不設置,那麼就會致使輸入命令出現「xxx不是內部或外部命令」的錯誤。

  OK,到這裏已經設置好了,你能夠開心的使用nodejs,以及它附帶的npm工具了

相關文章
相關標籤/搜索