日常错误汇总
1、npm install 报错
报错信息如下图,关键的一行我用红框圈出来了,“No Xcode or CLT version detected !”
这个是 command-line tools 的问题,但我电脑已经装了,最终找到的解决方案是先卸载,再重新安装;
1、删除命令行工具对应这个文件夹,/Library/Developer/CommandLineTools;操作方法来自 苹果官方文档;
2、安装
xcode-select --install
后来搜到,上面的两步可以直接通过下面的命令来解决,不知道好不好使,当做备用方案吧;
xcode-select --reset
2、创建/运行 Vue 项目报错
在执行 vue create xx 或者 npm run dev,如果报下面的错:
TypeError: Invalid Version: ^4.0.3
重新安装 @vue/cli 或升级到最新版就好了,这里 4.0.3是最新版;
3、nvm use 报错
执行 nvm use v12.18.0 时报错,信息如下:
nvm is not compatible with the npm config "prefix" option:
currently set to "/usr/local/Cellar/nvm/0.35.03/versions/node/v12.18.0"
Run ' npm config delete prefix ' or ' nvm use --delete-prefix v12.18.0 --silent ' to unset it.
按照报错信息的提示的命令 “nvm use –delete-prefix v12.18.0 –silent” 可以成功切换版本,但下次操作还是要输入这个长的命令,解决方案是删除并重置全局前缀:
$ npm config delete prefix
$ npm config set prefix $NVM_DIR/versions/node/v12.18.0
另外,没有通过安装包安装 Node 环境,直接用 nvm 安装 Node,WebStorm 会找不到 node 版本,到设置(Preferences)中搜 “Node”,设置 node 和 npm 路径即可。
4、nvm use切换node版本之后,全局包找不到
默认每个版本的全局包装在自己目录下,MacOS上地默认地址类似这样:/Users/username/.nvm/versions/node/v14.15.4/lib。
版本切换后,重新装一下就可以了
nvm install v10.23.2 --reinstall-packages-from=v14.15.4
对于这个问题,一开始搜到的解决方案是设置一个全局的 prefix,但可能会出现问题3的情况,而且node版本不一样,全局包版本也可能不一样;
5、MacOS 安装NVM后,command not found
可能是没有配置环境变量,或环境变量配错地方了
- MacOS 10.15 以下版本,shell 环境是 bash,环境变量配置文件是 ~/.bash_profile;
- MacOS 10.15 及以上版本,shell 环境是 zsh,环境变量配置文件是 ~/.zshrc;
NVM 安装成功后,终端会输出类似下面一段代码
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
我直接配置在 ~/.bash_profile 中了,每次重启终端,使用 nvm 就会报 command not found,source 之后才正常;
解决方案是在 ~/.zshrc 文件中添加下面的代码,启用 .bash_profile,或者直接将上面的配置代码放到 ~/.zshrc 中;
source ~/.bash_profile
6、MacOS下修改VS Code中的git密码
git仓库所在站点修改密码后,VS Code会报下面的错(应该是之前配置过保存密码,密码改了之后本地没同步,但也不弹窗让输入新密码)
fatal: Authentication failed for 'https://git.test.com/xxx.git'
这时候就需要把之前的密码删掉,打开“钥匙串访问”–找到该站点密码删掉,执行下面的命令
git config --global --unset user.password
然后在系统终端中进目标仓库文件夹进行git操作,会让输入密码,输入即可更新密码,然后再去VS Code中进行git操作,就可以了;
一定要注意,删除密码后,去系统终端操作输入密码,如果直接在VS Code里执行git操作,会一直提示上面的错误“Authentication failed”,让人以为没清除成功,不太明白为什么,如果是缓存,在终端中输入密码,VS Code里又立刻生效了,不知道什么原理;
下面还有两句可能有用的代码
git config --global credential.helper osxkeychain # 设置git去系统钥匙串中获取密码
git credential-osxkeychain erase host=test.git.com protocol=https # 清除钥匙串中的 host=test.git.com 协议是https 的密码
7、Charles 开启后请求加载不到
Charles 开启后,请求可以捕获,但请求列表前面是一个包含白色小手的红色图标,所有请求都加载不到,这是因为开启了 Tools –> Allow List –> Enable Allow List,这个选项是只允许这里配置的URL通过访问,其他的就不返回;Block List 正好相反;