npm i fail - 查不出原因的處理方式

npm i fail – 查不出原因的處理方式

經歷許多次的 npm 安裝問題,目前有幾種不同的解法。

npm cache issue

可能因為 npm 下載的時候,或者因為連線問題導致模組並沒有完整被安裝,但是 npm 的檢查機制就是只要存在就會跳過安裝步驟,因此當遇到安裝完成,但是執行卻無法的時候,可以嘗試著

`rm -rf node_modules

# install again

npm i `
如果是在中間就遇到 fail 的狀態,有可能是因為之前連線問題,並沒有將模組安裝成功,但是資料已經存在 npm cache 資料夾裡面,以往都需要找出這個環境設定,環境路徑才能進行移除,不過現在透過 npm cache 可以簡單做到這件事情
`npm cache clean

rm -rf node_modules

npm i`

npm version issue

另外一種會再安裝的時候跳出錯誤,會顯示為 npm 版本不符合,或者是 node 版本不符合,這個時候就需要進行安裝更新,最簡單方式就是升級 npm.

`npm i -g npm`

缺少套件

通常最常見的就是有些模組需要透過 gcc, g++ 這是最常見的缺少模組問題,以 mac 環境來說直接透過 brew 就可以安裝完成。

`brew install gcc

brew install g++

# install again

npm i `

記憶體不足

最後一種就是屬於記憶體不足的狀態,這通常會很難檢查,實際上 npm 也會跳出錯誤,現在的錯誤資訊都已經比較明顯,

npm ERR! node v4.4.1<br></br>npm ERR! npm v3.8.6<br></br>npm ERR! code ENOMEM<br></br>npm ERR! errno ENOMEM<br></br>npm ERR! syscall spawn<br></br><br></br>npm ERR! spawn ENOMEM

如果遇到這種狀況,請重新調整記憶體分配,如果是採用 vps, 就看能不能夠 scale up ,讓機器的記憶體提升,就可以解決問題。

後記

以上都是踩過的雷,以及在嘗試許多 node.js 專案時會遇到的問題,我們也經常在摸索中,不過從摸索以及找到答案的過程都繞了許多遠路,希望透過分享可以讓大家更瞭解 npm 錯誤時可以怎麼處理。

CaesarChi

Web developer, focus on website fullstack, special JavaScript, and love sharing developing experience and communicate with developers. http://about.me/clonn