这个问题发生在使用 zsh shell环境下,当你想安装 postcss 的7.x版本时,执行类似下列命令出现错误:
npm install -D postcss@^7
出现如下错误:
zsh: no matches found: postcss@^7
这是由于 zsh shell 的 glob 特性导致的,当你使用 "^" 或 "%" 等符号时,zsh会尝试将其解释为通配符,但在这种情况下,它会询问是否有匹配项,而由于没有匹配项,因此会出现上述错误。
要解决这个问题,可以通过将通配符关掉或转义符号来实现。有以下几种方法:
- 使用双引号将符号引起来:
npm install -D "postcss@^7"
- 将通配符关闭:
setopt NO_NOMATCH
npm install -D postcss@^7
setopt NOMATCH
- 使用反斜杠转义符号:
npm install -D postcss@\^7
以上方法中,第一种方式是最简单的。第二种方法可以在需要时将其组合到你当前的.zshrc文件中。第三种方法可能会更加繁琐,但如果你喜欢使用反斜杠转义符号,可以使用它。