2014-01-30 84 views

回答

7

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

您可以手动调用它(例如,当您例如签出从GitHub的一个项目,而无需修改任何文件)使用上下文菜单Pub Get在DartEditor上的文件pubspec.yaml

    • 通过调用pub get在存储文件pubspec.yaml的软件包目录中的命令行中。

    pub get下载软件包版本,满足您的版本约束文件pubspec.lock(在包根目录)或最新版本中指出(0.0.1在你的例子可能是any为“最近”),如果pubspec.lock没有按不存在。 pub get/pub upgrade如果文件不存在,则创建文件pubspec.lock,并保存刚刚下载的已下载软件包的版本。

    检查更新包,并使用

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

    pub upgrade下载即满足您的版本约束和存储文件pubspec.lock在下载版本的最新版本。

    pub get/pub upgrade喜欢(不包含-版本号)的稳定版本像0.0.11.2.0+1在之前版本一样0.0.2-11.2.1-1如果有的话是可用的fulfulls您的版本约束。

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

    pub upgrade可能会出现像

    分析器0.10的输出.5(9个新版本可用)

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

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

    您可以强制pub get/pub upgrade来,通过在pubspec.yamldependencies_override:,而不是dependencies:下定义一个版本约束的依赖侵犯了您的依赖相关性的版本。

    您也可以添加dev_dependencies(例如unittest),它们只在软件包中定义时才下载,但只在其中一个依赖项中定义时才会被忽略。

    你看,即使是经验丰富的Dart开发者,这也是一个高级话题。

  • 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"),它允许酒吧经理去获取最新angular。毫不费力。尼斯。

    相关问题