vue 创建项目 Cannot set property ‘context‘ of null

问题描述

想创建一个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的版本,就完成了。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值