发布新的Dart包时,如何安装更新版本?
答案 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
。毫不费力。好的。