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

时间:2014-01-30 03:23:27

标签: install dart updates package-managers dart-pub

发布新的Dart包时,如何安装更新版本?

2 个答案:

答案 0 :(得分:7)

当文件pub get更新时,DartEditor会自动调用pubspec.yaml

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

  • 使用文件Pub Get上的DartEditor中的上下文菜单pubspec.yaml
  • 通过在存储文件pub get的包目录中的命令行上调用pubspec.yaml

pub get下载文件pubspec.lock中指定的软件包版本(在软件包根目录中)或满足版本约束的最新版本(示例中的0.0.1可以是{如果any不存在,则{1}}为“最近的”。 pubspec.lock / pub get创建文件pub upgrade(如果该文件尚不存在)并保存刚刚下载的已下载软件包的版本。

检查更新的软件包并使用

下载它们
    在文件pubspec.lock 上的DartEditor中的
  • 上下文菜单Pub Upgrade 存储文件pubspec.yaml的包目录中的命令行上的
  • pub upgrade

pubspec.yaml会下载符合您的版本限制的最新版本,并将下载的版本存储在文件pub upgrade中。

pubspec.lock / pub get比预先发布的pub upgrade-更喜欢稳定版本(不包含0.0.1的版本号) {1}}或1.2.0+1(如果有)可以满足您的版本约束。

如果您想要预发布,则必须收紧版本约束,以便只有预发布版符合您的约束条件(如0.0.2-1

1.2.1-1可能会显示类似

的输出
  

分析仪0.10.5(可提供9个新版本)

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

依赖项的版本约束需要满足所有依赖项依赖项的版本约束(例如,如果添加依赖项angular: '>=1.2.1'pub upgrade observe取决于polymer }本身)。

您可以polymer / observe强制执行违反依赖项依赖项的版本,方法是在pub get而不是pub upgrade下使用版本约束定义依赖项dependencies_override: }}

您还可以添加dependencies:(例如pubspec.yaml),这些内容仅在您的软件包中定义时才会下载,但仅在您的某个依赖项中定义时才会被忽略。

你知道,即使是经验丰富的Dart开发人员,这也是一个高级主题。

答案 1 :(得分:5)

如果你是一位经验丰富的Dartisan,这个问题可能看起来微不足道,不值得问,但来自Java世界(我的学生和我习惯手动下载.jars然后(有时)不得不复制它们在我们的项目中)这是一个自然要问的新手问题。以下是上下文:两天前v0.9.5的角度出现了,所以我做了一个心理记录,在我们的本地项目中上传库。

好吧,似乎我们所需要的只是一个适当定义的pubspec.yaml文件,Dart pub package manager完成其余的工作。在Dart编辑器中,我猜测依赖关系会在项目刷新或(重新)构建时更新。在我们的项目中,我们恰好有一个pubspec.yaml这样的文件:

name: angular_dart_demo
version: 0.0.1
dependencies:
  angular: any

(而不是angular: ">=0.9.0 <0.10.0")允许Pub管理员获取最新的angular。毫不费力。好的。