1. 程式人生 > >解決Node.js Error: Cannot find module ‘node-static’

解決Node.js Error: Cannot find module ‘node-static’

Cannot find module 問題

在測試WebRTC codelab的時候,執行codelab\complete\step1出錯,丟擲Error:

  1. module.js:340
  2. throw err;
  3. ^
  4. Error:Cannot find module'node-static'
  5.     at Function.Module._resolveFilename (module.js:338:15)
  6.     at Function.Module._load (module.js:280:25)
  7.     at Module.require(module.js:364:17)
  8.     at require(module
    .js:380:17)
  9.     at Object.<anonymous>(X:\WebProjects\codelab\complete\step1\server.js:1:72)
  10.     at Module._compile (module.js:456:26)
  11.     at Object.Module._extensions..js (module.js:474:10)
  12.     at Module.load (module.js:356:32)
  13.     at Function.Module._load (module.js:312:12)
  14.     at Function.Module.runMain 
    (module.js:497:10)

看到StackOverflow上有人出主意“$ npm install [email protected]”“$ npm install serve-static”云云,不起作用,在這裡給出正確解決方案。

為何發生Cannot find module問題

首先明確全域性模組的預設安裝位置:

  1. $npm root -g
  2. X:\Program Files\nodejs\prefix\node_modules

接著檢視全域性模組的預設搜尋路徑:

  1. $node
  2. >global.module.paths
  3. ['X:\\Users\\Admin\\repl\\node_modules'
    ,
  4. 'X:\\Users\\Admin\\node_modules',
  5. 'X:\\Users\\node_modules',
  6. 'X:\\node_modules']

發現兩者並沒有交集,難怪找不到。

接著在core-modules-sources/lib/module.js上下了個斷點,發現Node.js預設還從下列路徑搜尋全域性模組:

  1. ["Y:\\WebProjects\\codelab\\complete\\step1\\node_modules","Y:\\WebProjects\\codelab\\complete\\node_modules","Y:\\WebProjects\\codelab\\node_modules","Y:\\WebProjects\\node_modules","Y:\\node_modules","X:\\Users\\Admin\\.node_modules","X:\\Users\\Admin\\.node_libraries","Y:\\Program Files\\lib\\node"]

更加確定了我的猜想,預設的搜尋路徑並不包含模組的預設安裝路徑。

解決Cannot find module方案

那麼解決方案就簡單了,先npm install node-static -g,然後可以新增環境變數 NODE_PATH ,指向 npm root -g 給出的路徑。也可以在WebStorm的專案配置上做一個專案級別的變數:

還可以在專案目錄下npm install node-static。

至此問題解決。

相關推薦

解決Node.js Error: Cannot find modulenode-static

Cannot find module 問題在測試WebRTC codelab的時候,執行codelab\complete\step1出錯,丟擲Error:module.js:340throw err;^Error:Cannot find module'node-static'

解決React Native:Error: Cannot find module 'asap/raw'

在使用react-native-tab-navigator元件的時候啟動報如下錯誤: Error: Cannot find module 'asap/raw' at Function.Module._resolveFilename (internal/modules/cjs/loader.j

把一個vue專案拷貝到另一個地方啟動不了的解決辦法(Error: Cannot find module ‘’')

公司的專案拷貝到家裡,是不是就啟動不了了。雖然使用了cnpm install安裝之後還是瘋狂提示你缺少什麼什麼包,而且按照他的提示永遠安裝不完。就像下面這樣   造成這樣的原因是當你在一臺電腦上編譯後npm會有cache快取,到另外一臺電腦上編譯這個專案的快取與原快取不一

解決React Native:Error: Cannot find module 'asap/raw'

在使用react-native-tab-navigator元件的時候啟動報如下錯誤: Error: Cannot find module 'asap/raw' at Function.Module._

node 報錯:Uncaught Error: Cannot find module "!!../../../node_modules/extract-webpack-plugin/loader.js

方法 nod ima enc mage modules ann not uncaught 問題出在缺少less和less-loader 因為以上模塊使用了less解析。 解決方法在dependencies添加 "less": "^2.7.1", "less-lo

moudule.js:338 throw err; Error: Cannot find module 'webpack/lib/node/NodeTemplatePlugin'

我查了一些資料,是因為全域性安裝webpack,導致的。 解決方法:1,可以在本專案中安裝,npm install webpack 2, 或者是,在~/.bash_profile中新增如下設定: ex

Node.js報錯資訊Error: Cannot find module 'XXX'

今天開始學習NodeJS,不多說,HelloWord,嘻嘻。系統:Win8.1事情經過:下載安裝一切都很順利,無腦Next、Next、Next……,你說路徑還有設定?不存在的,就是往C盤磕。然後在桌面新建一個記事本里面寫上我們熟悉的HelloWord儲存為字尾為js。正文:M

ERROR in Cannot find module 'node-sass'

今天執行一個angular後臺管理系統遇到的問題,然後自己也去網上找了找,發現大致有3中解決方法: 可能你是用cnpm匯入的,改用npm就好。 要不就是cnpm install [email protected](直接手動在匯入node-sass) 這是今天我

Module build failed: Error: Cannot find module 'node-sass'

ash bpa 完成 web 安裝 項目 build 遇到 nod 安裝npm 遇到 Module build failed: Error: Cannot find module ‘node-sass‘ 這次通過重裝 npm 完成

完美解決 npm start 報錯 Error: Cannot find module 'XX' 的問題

問題: 在處理weex專案時,npm start 啟動不了本地服務 但是使用weex run ios 可以啟動iOS模擬器, npm start 報錯,缺少ws模組導致啟動不了localhost本地服務,無法瀏覽器除錯 完美解決 npm start 報錯 Error: Canno

webpack.config.js配置遇到Error: Cannot find module '@babel/core'問

一、 啥問題 在配置webpack.config.js自動打包的時候,出現Error: Cannot find module '@babel/core'錯誤 最初以為是babel-core沒有安裝上。

webpack.config.js配置遇到Error: Cannot find module '@babel/core'問題

一、 問題描述 在配置webpack.config.js自動打包的時候,出現Error: Cannot find module '@babel/core'錯誤 最初以為是babel-core沒有安裝上。重灌了好幾遍babel-core還是不行。對照以前的專案,發現babel

Error: Cannot find module 'webpack' at Function.Module._resolveFilename (module.js:548:15)

全部錯誤資訊如下 Error: Cannot find module 'webpack' at Function.Module._resolveFilename (module.js:548:15) at Function.Module._load (module.js:

Error: Cannot find module 'webpack'錯誤解決

$ npm install webpack -g $ npm install webpack-cli -g 全域性安裝webpack webpack hello.js -o hello.bundle.js 執行一個已經建立的hello.js檔案報錯 E:\webpack\node_

不通過 您的程式碼已儲存 編譯錯誤:您提交的程式碼無法完成編譯 ./TreeLevel.java:37: error: cannot find symbol node.next=new ListNode(

今天真是太SB了,在牛客網上做一道入門級的BFS題,結果出現不通過:您的程式碼已儲存 編譯錯誤:您提交的程式碼無法完成編譯 ./TreeLevel.java:37: error: cannot find symbol node.next=new ListNode(tn.da

npm安裝gitbook出現Error: Cannot find module 'graceful-fs'的解決方法

一、問題       在git使用命令列npm install gitbook-cli -g   安裝 npm list graceful-fsgitbook時報了一個錯誤:    Error: Cannot find module 'graceful-fs'    at F

centos系統nodejs伺服器報錯 Error: Cannot find module 'jQuery' 的解決辦法

我們先看看nodejs伺服器引入的內容 可以看到,我們在裡面已經引入jquery外掛,接下來執行伺服器 node server.js 竟然報錯了, 奇怪了,我在windwos上除錯的時候明明是沒問題的啊,  後來瞭解到,其實在linux伺服器上其實是區分大小寫的

Error: Cannot find module '../lib/utils/unsupported.js'

重新安裝node.js 後npm 被能使用(如下面) 是因為安裝的node.js 9.9.0 不是穩定版本 sudo n stable //指定個穩定版本即可 module.js:545

Error: Cannot find module 'gulp-clone'問題的解決

安裝完gulp環境,並且配置好gulpfile.js,執行靜態檔案壓縮和程式碼混淆時,出現如下錯誤: Error: Cannot find module 'gulp-clone' Error: Cannot find module 'gulp-html'

webpack.config.js配置遇到Error: Cannot find module '@babel/core'&&Cannot find module '@babel/plugin-transform-react-jsx' 問題

解決 描述 tar exclude 最新版 兩種 alt path set 下文是網上找到的方法,是因為版本沖突的原因,參照後安裝7版本解決 cnpm install -D babel-loader@7 babel-core babel-preset-env