關於npm install 找不到module的一個解決方案
這個錯誤自己找了好久都沒有找到解決辦法,網上也幾乎找不到,後來終於解決了,故此發布此文希望能夠幫助大家減少彎路
錯誤信息:
$ npm install node-sass> node-sass@4.5.3 install /home/vagrant/workspace/mui/node_modules/node-sass> node scripts/install.jsmodule.js:487 throw err; ^Error: Cannot find module tough-cookie(Error: Cannot find module lib/cookie) at Function.Module._resolveFilename (module.js:485:15) at Function.Module._load (module.js:437:25) at Module.require (module.js:513:17) at require (internal/module.js:11:18) at Object.<anonymous> (/home/vagrant/envs/mui-env/lib/node_modules/request/lib/cookies.js:3:13) at Module._compile (module.js:569:30) at Object.Module._extensions..js (module.js:580:10) at Module.load (module.js:503:32) at tryModuleLoad (module.js:466:12) at Function.Module._load (module.js:458:3)npm ERR! code ELIFECYCLEnpm ERR! errno 1npm ERR! node-sass@4.5.3 install: `node scripts/install.js`npm ERR! Exit status 1npm ERR! npm ERR! Failed at the node-sass@4.5.3 install script.npm ERR! This is probably not a problem with npm. There is likely additional logging output above.npm ERR! A complete log of this run can be found in:npm ERR! /home/vagrant/.npm/_logs/2017-06-14T13_09_09_105Z-debug.log
首先不要被中間的找不到模塊這個錯誤信息誤導了,真正的問題不在這裡!
請看以上貼出來的報錯信息,最開始的幾行,其中涉及到了一個關鍵詞「node-sass」,事實上這個報錯真正的信息就是這個,熟悉nodejs這一套的人應該知道,這個在每個版本中都是不一樣的,因此該報錯信息明顯就是版本問題。但是有的朋友可能就問了,自己明明都重新安裝過nodejs版本了也刪除了原先的node_modules,為什麼還是不行,我自己也遇到過了這個問題,後來想起來了不知從何時起,使用npm install 安裝模塊後會產生了「package-lock.json」這個文件,正是因為該文件包含了舊版本的信息,才導致了新的npm install 安裝失敗了。
完整步驟:
1、正確安裝號nodejs
2、刪除項目根文件夾下的node_modules和「package-lock.json」,
3、重新執行npm install
寫在最後,自己也只是新入門幾個月的,有些內容可能寫錯了,還望大神們不吝賜教
推薦閱讀:
※npm install 生成的package-lock.json是什麼文件?有什麼用?
※每個項目文件夾下都需要有node_modules嗎?
※為什麼 npm 要為每個項目單獨安裝一遍 node_modules?
※npm package.json