我的pubspec.yaml文件中有一个git依赖项,当git repo中发生新的更改时,我如何强制它更新?
flutter pub get / pub get
它不会获得最新版本,因为它在.pub-cache/git/中有没有办法强制一个特定的依赖项从pubspec.yaml引用的git repo更新?
.pub-cache/git/
nbysray51#
在pubspec.yaml中,你可以指定一个特定的git提交:
pubspec.yaml
dependencies: http2: git: url: https://github.com/dart-lang/http2.git ref: c31df28c3cf076c9aacaed1d77f45b66bb2e01a6
或者如果在“ref”中只指定一个分支:
dependencies: http2: git: url: https://github.com/dart-lang/http2.git ref: master
您需要使用flutter packages upgrade强制更新
flutter packages upgrade
9rnv2umw2#
用途
了解最新情况。
flutter packages get
第一次只获取最新版本,并将解析的版本写入pubspec.lock。随后运行flutter packages get,然后尝试获取pubspec.lock中列出的版本,而flutter packages upgrade总是忽略pubspec.lock
pubspec.lock
r7knjye23#
1.运行flutter clean,然后运行pub get(如果使用Flutter,则在pub之前添加flutter)1.确保更新软件包的版本号;如果版本和上次提交的版本相同,包就不会被更新。
flutter clean
pub get
pub
flutter
run pub upgrade
pub cache repair
1.确保dependency不在dev_dependencies部分(是的,那是今天!)
fbcarpbf4#
flutter packages upgrade会升级所有软件包的子版本,这可能不是你想要的(出于某种原因使用一些特定的软件包版本等)。pub cache repair通过重新安装所有软件包来完成这项工作,但也需要时间。使用refs有缺点比如错过了分支上最新的更新。有2个其他选项/黑客来避免这一切:1.更新ref值到最近提交的哈希值。运行flutter pub get然后重写你的分支名再次到你的ref值。1.从flutter sdk的git文件夹中删除.pub-cache下的包,然后在你的项目上运行flutter pub get。
ref
flutter pub get
xqnpmsa85#
快速解决方案:只需更改repo名称并运行pub get:)
5条答案
按热度按时间nbysray51#
在
pubspec.yaml
中,你可以指定一个特定的git提交:或者如果在“ref”中只指定一个分支:
您需要使用
flutter packages upgrade
强制更新9rnv2umw2#
用途
了解最新情况。
第一次只获取最新版本,并将解析的版本写入
pubspec.lock
。随后运行flutter packages get
,然后尝试获取pubspec.lock
中列出的版本,而
flutter packages upgrade
总是忽略pubspec.lock
r7knjye23#
1.运行
flutter clean
,然后运行pub get
(如果使用Flutter,则在pub
之前添加flutter
)1.确保更新软件包的版本号;如果版本和上次提交的版本相同,包就不会被更新。
run pub upgrade
1.如果它仍然不工作,你可以运行
pub cache repair
,它会重新安装你所有的软件包编辑
1.确保dependency不在dev_dependencies部分(是的,那是今天!)
fbcarpbf4#
flutter packages upgrade
会升级所有软件包的子版本,这可能不是你想要的(出于某种原因使用一些特定的软件包版本等)。pub cache repair
通过重新安装所有软件包来完成这项工作,但也需要时间。使用refs有缺点比如错过了分支上最新的更新。有2个其他选项/黑客来避免这一切:
1.更新
ref
值到最近提交的哈希值。运行flutter pub get
然后重写你的分支名再次到你的ref值。1.从flutter sdk的git文件夹中删除.pub-cache下的包,然后在你的项目上运行
flutter pub get
。xqnpmsa85#
快速解决方案:只需更改repo名称并运行pub get:)