问题描述
想创建一个vue的项目,跟着网上的教程创建的时候报了这个错误。
在网上搜索了些答案,鬼使神差地把npm降到了4.x的版本
npm -g i @4
这版本一降直接让vue-cli报了一个大错:
🚀 Starting GUI...
ERROR Error: You are using an outdated version of NPM.
It does not support some core functionalities of Vue CLI.
Please upgrade your NPM version.
Error: You are using an outdated version of NPM.
It does not support some core functionalities of Vue CLI.
Please upgrade your NPM version.
at new PackageManager (F:\Node\node_global\node_modules\@vue\cli\lib\util\ProjectPackageManager.js:129:15)
at Object.<anonymous> (F:\Node\node_global\node_modules\@vue\cli\lib\util\getVersions.js:6:12)
at Module._compile (node:internal/modules/cjs/loader:1103:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1155:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (F:\Node\node_global\node_modules\@vue\cli\lib\util\clearConsole.js:1:21)
at Module._compile (node:internal/modules/cjs/loader:1103:14)
看了眼原解答,发现那是2020年写的,这警告我们不要看过期的解决方案,尤其是前端这种迭代快的。
然后尝试把npm的版本升回去,结果npm又开始报错
npm ERR! cb.apply is not a function
好像这是4.x版本独有的错误,真的是见鬼了。
提示:这里描述项目中遇到的问题:
例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据
APP 中接收数据代码:
@Override
public void run() {
bytes = mmInStream.read(buffer);
mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();
}
解决方案:
提示:这里填写该问题的具体解决方案:
首先,我先尝试了重装nodejs,然后升级npm。
重装以后还是报错。
稍微了解了下node的扩展包,应该是要不装在开发环境要不装在全局的文件夹的,所以删除npm重装应该没有大影响。
但是就算删掉重装还是报错,所以没有办法只能针对这个报错解决问题。
尝试网上说的方法,但是还是会报错。
C:\Users\hp\AppData\Roaming>npm install yarn
npm ERR! cb.apply is not a function
突然想到一个问题,因为我把node_global的位置换过了,所以其实这个npm的真实位置不在c盘的appdata,翻日志
0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli 'F:\\Node\\nodejs\\node.exe',
1 verbose cli 'F:\\node\\node_global\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli 'install',
1 verbose cli 'cnpm'
1 verbose cli ]
2 info using npm@4.6.1
3 info using node@v16.14.2
4 verbose config Skipping project config: C:\Users\hp/.npmrc. (matches userconfig)
5 silly install loadCurrentTree
6 silly install readLocalPackageData
7 verbose stack TypeError: cb.apply is not a function
7 verbose stack at F:\node\node_global\node_modules\npm\node_modules\graceful-fs\polyfills.js:287:18
7 verbose stack at FSReqCallback.oncomplete (node:fs:199:5)
8 verbose cwd C:\Users\hp\AppData\Roaming
9 verbose Windows_NT 10.0.18362
10 verbose argv "F:\\Node\\nodejs\\node.exe" "F:\\node\\node_global\\node_modules\\npm\\bin\\npm-cli.js" "install" "cnpm"
11 verbose node v16.14.2
12 verbose npm v4.6.1
13 error cb.apply is not a function
14 verbose exit [ 1, true ]
看样子是在f的global里面,删掉npm文件
C:\Users\hp\AppData\Roaming>npm --version
8.5.0
第一步解决,赶紧下载cnpm和yarn保命……然后全局重新安装npm
然后注意到了这条信息:
INFO
Vue CLI v5.0.3
2022/3/18 15:26:34
🌠 Ready on http://localhost:8001
2022/3/18 15:26:34
INFO
vue create is a Vue CLI 3 only command and you are using Vue CLI 2.9.6.
2022/3/18 15:26:55
INFO
You may want to run the following to upgrade to Vue CLI 3:
npm uninstall -g vue-cli
npm install -g @vue/cli
发现问题可能出在安装3.x版本的vue的时候没有全局安装,导致出现了问题,于是重新安装。
删除几次以后发现删不干净,最后建议大家这么删除
npm uninstall -g vue-cli
npm uninstall -g @vue/cli
npm uninstall -d vue-cli
npm uninstall -d @vue/cli
npm uninstall @vue/cli
npm uninstall -d vue-cli
全试一遍,因为我发现因为我改变了global的位置,所以部分包的位置有点错乱,删干净以后重新装@vue/cli的版本,就完成了。