pubspec.yaml 文件中前导的“+”是什么意思?

what does the leading '+' in the pubspec.yaml file mean?

我正在关注这个 flutter tutorial,添加以下依赖项:

             dependencies:            
                               flutter:            
                                 sdk: flutter            
                               cupertino_icons: ^1.0.3            
             +                 english_words: ^4.0.0

有趣的是,如果我删除小“+”并尝试下载 english_words 包,我会得到

    Error on line 32, column 4: Expected a key while parsing a block mapping.
   ╷
32 │    english_words: ^4.0.0
   │    ^
   ╵

使用“+”可以完美运行。 在 pubspec documentation 中,我只能找到作为版本范围一部分的“+”符号的解释,但不是在该行的开头。有人有解释吗?

在教程中,作者的意思是用 + 符号“添加”这一行。它与 flutter pubspec.yaml 文件没有任何关系。 您收到此错误是因为您需要在依赖项前面添加一个制表符 space。在english_words前面添加一个标签space:^4.0.0 像这样:

dependencies:                       
    english_words: ^4.0.0

例如,这里作者的意思是“添加”某些行前面有一个+,“删除”某些行前面有一个-:

加号与它无关。 spaces 在使用外部包时很重要,您应该将它们完全按照它们出现的方式放入 pubspec.yaml 文件中。我猜你删除了标志,你的包裹看起来像这样:

 dependencies:            
                  flutter:            
                    sdk: flutter            
                  cupertino_icons: ^1.0.3            
                 english_words: ^4.0.0

这是错误的,因为 flutter 下的所有依赖项应该具有完全相同的间距并且彼此下方。所以正确的使用方法是这样的:

dependencies:            
                  flutter:            
                    sdk: flutter            
                  cupertino_icons: ^1.0.3            
                  english_words: ^4.0.0

我刚在英文单词包前添加了一个space,现在一切正常。