1. 程式人生 > >從Error: Cannot find module 'webpack-cli/bin/config-yargs'到package.json依賴管理dependencies中 ^ 和 ~ 的區別

從Error: Cannot find module 'webpack-cli/bin/config-yargs'到package.json依賴管理dependencies中 ^ 和 ~ 的區別

 

 

故障現場:

internal/modules/cjs/loader.js:582

    throw err;

    ^

 

Error: Cannot find module 'webpack-cli/bin/config-yargs'

    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:580:15)

    at Function.Module._load (internal/modules/cjs/loader.js:506:25)

    at Module.require (internal/modules/cjs/loader.js:636:17)

    at require (internal/modules/cjs/helpers.js:20:18)

    at Object.<anonymous> (/Users/wlc534/workspace/webpack-react-spa/node_modules/webpack-dev-server/bin/webpack-dev-server.js:80:1)

    at Module._compile (internal/modules/cjs/loader.js:688:30)

    at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)

    at Module.load (internal/modules/cjs/loader.js:598:32)

    at tryModuleLoad (internal/modules/cjs/loader.js:537:12)

    at Function.Module._load (internal/modules/cjs/loader.js:529:3)

npm ERR! code ELIFECYCLE

npm ERR! errno 1

npm ERR! [email protected] dev: `cross-env NODE_ENV=development webpack-dev-server --config build/webpack.dev.conf.js`

npm ERR! Exit status 1

npm ERR!

npm ERR! Failed at the [email protected] dev script.

npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

 

 

根據提示:Error: Cannot find module 'webpack-cli/bin/config-yargs' 是有模組找不到,那就去node_modules看看,是真沒有。很奇怪的是同一個專案,在不同電腦表現不一樣。pro正常,air不能啟動。能有不同的表現就通過對比找出異同點。

改前Package.json

改後Package.json

"webpack": "^4.23.1",
"webpack-bundle-analyzer": "^3.0.3 ",
"webpack-cli": "^3.1.2",
"webpack-dev-server": "^3.1.10",

 

"webpack": "^4.23.1",
"webpack-bundle-analyzer": "^3.0.3 ",
"webpack-cli": "3.1.2",
"webpack-dev-server": "^3.1.10",

 

改前Package-lock.json

改後Package-lock.json

"webpack-cli": {
  "version": "3.3.2",
  "resolved": "https://registry.npm.taobao.org/webpack-cli/download/webpack-cli-3.3.2.tgz",
  "integrity": "sha1-rtJDew2wp/qirShIThZqU2ABSpE=",
  "dev": true,
  "requires": {
    "chalk": "^2.4.1",
    "cross-spawn": "^6.0.5",
    "enhanced-resolve": "^4.1.0",
    "findup-sync": "^2.0.0",
    "global-modules": "^1.0.0",
    "import-local": "^2.0.0",
    "interpret": "^1.1.0",
    "loader-utils": "^1.1.0",
    "supports-color": "^5.5.0",
    "v8-compile-cache": "^2.0.2",
    "yargs": "^12.0.5"
  },

 

"webpack-cli": {
  "version": "3.1.2",
  "resolved": "https://registry.npm.taobao.org/webpack-cli/download/webpack-cli-3.1.2.tgz",
  "integrity": "sha1-F9fgG3f4n4hKK7+dtUXw9qZI50Y=",
  "dev": true,
  "requires": {
    "chalk": "^2.4.1",
    "cross-spawn": "^6.0.5",
    "enhanced-resolve": "^4.1.0",
    "global-modules-path": "^2.3.0",
    "import-local": "^2.0.0",
    "interpret": "^1.1.0",
    "loader-utils": "^1.1.0",
    "supports-color": "^5.5.0",
    "v8-compile-cache": "^2.0.2",
    "yargs": "^12.0.2"
  },

 

因為"webpack-cli": "^3.1.2"這種寫法,真正安裝是3.3.2,恰巧升級是斷崖式,目錄結構都變了,找不到對應模組。

解決方法:

npm install [email protected] -D

package.json 中"webpack-cli": "3.1.2"

package.json依賴管理dependencies中 ^ 和 ~ 的區別

dependencies與devDependencies有什麼區別呢?devDependencies 裡面的外掛只用於開發環境,不用於生產環境dependencies 是需要釋出到生產環境的

 

 

pakage.json 中對引入依賴包版本進行管理時,dependencies中常常可以看到類似 ^1.2.0 或 ~1.2.0 這樣的版本範圍指示。那麼,這裡的 ^ 和 ~ 具體表示什麼含義呢。

這裡簡單把 ^ 和 ~ 的區別摘抄一下,備忘。

一個完整的版本號組表示為: [主要版本號,次要版本號,補丁版本號]

 npm模組的完整的版本號一般是【主版本 . 次要版本 . 補丁版本】,一般情況下,次要版本號發生改變的話,表示程式有重大更新。

1. 用 ~ 指示範圍

如果指定了次要版本,允許補丁版本升級。如果沒有指定次要版本,允許次要版本升級。

 

 

2. 用 ^ 指定範圍

允許不會改變最左邊的不為零的版本號的版本提升,也就是說,1.0.0允許次要、補丁版本升級,0.1.0允許補丁版本升級,^0.0.x 不允許升級。

相關推薦

npm run server報錯原因之一:Cannot find module 'webpack-cli/bin/config-yargs'

使用npm run dev啟動server時報錯: C:\Users\Administrator\daqixin-product\health-platform\health-wx-web>npm run dev > [email protected] dev C:

webpack4 啟動專案 Cannot find module 'webpack-cli/bin/config-yargs'

原因:沒有安裝webpack-cli 要安裝最新版本或特定版本,請執行以下命令之一: npm install --save-dev webpack npm install --save-dev [email protected]<version> 如果你使用 we

Error: Cannot find module 'webpack-cli

error + [email protected] updated 1 package in 4.777s { Error: Cannot find module 'webpack-cli' at Function.Module._resolveFilename (

webpack Error: Cannot find module 'webpack-cli/bin/config-yargs'

電腦使用的webpack版本為3.12.0 區域性安裝webpack-dev-server,並且全域性安裝webpack-dev-server後,發現如下error webpack-dev-server The CLI moved into a separate pack

Error: Cannot find module 'webpack-cli/bin/config-yargs' at Function.Module._resolveFilename (mo

Error: Cannot find module 'webpack-cli/bin/config-yargs' at Function.Module._resolveFilename (mod

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_

Gulp Error: Cannot find module 'jshint/src/cli'

module.js:442 throw err; ^ Error: Cannot find module 'jshint/src/cli' at Function.Module

Gulp Error: Cannot find module 'jshint/src/cli'

ins can image 提示 pre -- sta 查找 插件 首先是執行 gulp 的時候,提示:    此時,第一反應是: npm install gulp-jshint -g 理論上來說,除非還有插件沒有安裝,那麽執行 gulp 是可以的。然而,出現以下錯誤(

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

React,Error: Cannot find module 'webpack'

Error: Cannot find module 'webpack' at Function.Module._resolveFilename (module.js:547:15) at Function.Module._load (module.js:474:25)

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

webpackError: Cannot find module 'tapable'

出現這個問題的原因是:本地的npm被破壞 強制清空快取:npm cache clear –force 刪除掉本地的node_modules:rm -rf node_modules 重新安裝所有的依賴的庫:npm install   解決方案參考

webpack打包前端專案報錯 Error: Cannot find module '@babel/core'錯誤

據上述錯誤顯示,我安裝的 babel-loader版本和babel-core版本不匹配, 兩種方法解決: (1)、[email protected]需要babel 7(babel-core). (2)、如果要使用babel-core 6,需要安裝[email&#

Error: Cannot find module '@babel/core' webpack run dev

問題記錄:在進行webpack 命令操作時報錯 根據提示發現 需要安裝 7.0.0以上版本的babel-code 因為我的babel-loader 是 8.0.0以上的我預設安裝的babel-code 是6.0.0的版版本不匹配 解決辦法: 可以選擇降低babel-l

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

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

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

mac下使用vue create 專案名稱 建立專案後無法執行ERROR  Error: Cannot find module &apos;vue-template-compiler/package.json&apos;

mac下使用vue create 專案名稱 建立專案後無法執行啟動問題 promote:vue_pro wangxinqiang