Installation 如何安装Dart软件包的更新版本?

Installation 如何安装Dart软件包的更新版本?,installation,dart,updates,package-managers,dart-pub,Installation,Dart,Updates,Package Managers,Dart Pub,当一个新的Dart软件包发布时,我如何安装更新版本?如果你是一个经验丰富的Dartisan,这个问题可能看起来很琐碎,不值得问,但是来自Java世界(我和我的学生习惯于手动下载.jar,然后(有时)不得不将它们复制到我们的项目中)这是一个生疏的问题,问起来很自然。这里是上下文:两天前angular的v0.9.5版本发布了,所以我记下了一个想法,将库上传到我们的本地项目中 好吧,看来我们所需要的只是一个适当定义的pubspec.yaml文件,剩下的就由。在Dart编辑器中,我猜依赖项会在项目刷新或

当一个新的Dart软件包发布时,我如何安装更新版本?

如果你是一个经验丰富的Dartisan,这个问题可能看起来很琐碎,不值得问,但是来自Java世界(我和我的学生习惯于手动下载.jar,然后(有时)不得不将它们复制到我们的项目中)这是一个生疏的问题,问起来很自然。这里是上下文:两天前angular的v0.9.5版本发布了,所以我记下了一个想法,将库上传到我们的本地项目中

好吧,看来我们所需要的只是一个适当定义的
pubspec.yaml
文件,剩下的就由。在Dart编辑器中,我猜依赖项会在项目刷新或(重新)构建时得到更新。在我们的项目中,我们碰巧有这样一个
pubspec.yaml
文件:

name: angular_dart_demo
version: 0.0.1
dependencies:
  angular: any

(与之相反,例如,
angular:“>=0.9.0当更新文件
pubspec.yaml
时,DartEditor自动调用
pub get

您可以手动调用它(例如,当您从GitHub签出项目而不修改任何文件时)

  • 使用DartEditor中文件
    pubspec.yaml
  • 通过在存储文件
    pubspec.yaml
    的包目录中的命令行上调用
    pub get
pub get
下载文件
pubspec.lock
中注明的包版本(在包根目录中)或满足版本约束的最新版本(
0.0.1
在您的示例中可以是
any
,表示“最近的”)如果
pubspec.lock
不存在。
pub-get
/
pub-upgrade
创建文件
pubspec.lock
(如果它还不存在),并保存刚下载的下载包的版本

检查更新的软件包,并使用

  • 文件
    pubspec.yaml
  • 在存储文件
    pubspec.yaml
    的包目录中的命令行上执行
    pub-upgrade
pub-upgrade
下载满足版本限制的最新版本,并将下载的版本存储在文件
pubspec.lock

pub-get
/
pub-upgrade
更喜欢稳定的版本(版本号不包含
-
),如
0.0.1
1.2.0+1
,而不是像
0.0.2-1
1.2.1-1
(如果有)这样的预发行版,可以充分满足您的版本约束

如果您想要预发布,您必须收紧版本约束,以便只有预发布满足您的约束(如
角度:'>=1.2.1'

发布升级
可能会显示如下输出

analyzer 0.10.5(提供9个更新版本)

这表明有9个预发布版本比下载的稳定版本更新

依赖项的版本约束需要满足所有依赖项的版本约束(例如,如果添加依赖项
observe
polymer
,其中
polymer
取决于
observe
本身)

通过在
dependencies\u override:
下定义依赖项,而不是
pubspec.yaml
中的
dependencies:
下定义版本约束,可以强制
pub get
/
pub升级到违反依赖项的版本

您还可以添加
dev_依赖项
(例如
unittest
),这些依赖项仅在包中定义时下载,但在其中一个依赖项中定义时忽略

你看,即使对于经验丰富的Dart开发人员来说,这也是一个高级主题