Error when reading ‘pub’: No such file or directory解决

  • 发表于
  • flutter

已经安装dart,并且指定了bin位置,但执行命令依然报错:

➜~ (master) ✗ dart pub outdated
Error: Error when reading 'pub': No such file or directory

提示错误没说dart问题,而是说pub,那就是pub没找到,或者dart冲突了,随后我们检查是否brew和flutter的版本共存导致的:

➜~ (master) ✗ dart --version
Dart SDK version: 2.4.1 (stable) (Wed Jun 23 13:08:41 2021 +0200) on "macos_x64"

➜~ (master) ✗ flutter --version
Flutter 2.2.3 • channel stable • https://github.com/flutter/flutter.git
Framework • revision f4abaa0735 (7 weeks ago) • 2021-07-01 12:46:11 -0700
Engine • revision 241c87ad80
Tools • Dart 2.13.4

从上面确认了,两个版本冲突问题,那么解决方法很明确,先查出版本位置及默认版本,再确保设置好指定版本path。

使用如下命令,查看两个路径是否在同一个path下,如果不是,需要重新设置path,可参考这里:

➜~ (master) ✗ which flutter dart
/Users/uid/flutter/bin/flutter
/usr/local/bin/dart

解决方法

既然默认的dart使用的是2.4.1而不是flutter的2.13.4,那肯定就是默认dart不对,查看brew列表:

Error when reading 'pub': No such file or directory解决
brew dart

可以看到确实是brew中有个dart,我们直接卸载掉这个版本:

brew uninstall brew

然后再看flutter dart:

➜~ (master) ✗ which flutter dart
/Users/uid/flutter/bin/flutter
/Users/uid/flutter/bin/dart

好了,问题解决。