pub安装在Dart中不起作用

时间:2012-10-07 06:39:50

标签: dart

我正在尝试使用pub install安装glmatrix。我的操作系统是Windows 7,我安装了Git。

这是我的pubspec.yaml

name:  WebGLTut1
description:  A sample application
dependencies: 
glmatrix: 
git: git://github.com/pjako/glmatrix.dart.git

当我运行pub install时,我收到以下错误:

  

运行pub install ... Pub install fail,FormatException:不能   解析“git://github.com/pjako/glmatrix.dart.git”。“。

我用Google搜索了一段时间才找到解决方案,但却没有。请帮忙。

更新#1: 我发现了这个问题。在git:中指定pubsec.yaml网址时,必须有TAB /空格,如下所示。

    glmatrix:
      git: git://github.com/pjako/glmatrix.dart.git

这解决了FormatException的前期问题。但是现在当我再次运行pub install时,它会抛出错误。

  

运行pub install ... Pub安装失败,Git失败。

1 个答案:

答案 0 :(得分:2)

当您确定更新时,yaml文件对空白敏感;这就是为什么你不必使用像json那样的大量花括号。 :)

我在这里看到一些可能的问题:

<强>第一

Glmatrix似乎没有定义自己的pubspec。参与包系统的库很多都声明了一个pubspec文件,其中定义了name属性。名称很重要,因为pub在声明依赖项时会使用它。假设您有一个名为 toast 的项目,其中包含以下简单的pubspec:

name: butter
version: 0.0.0

然后你需要像这样声明你对该项目的依赖:

dependencies:
  butter:
    git: git://github.com/foo/toast.git

让项目所有者进行更改或自行分叉,添加pubspec,然后在pubspec中引用fork。

<强>第二

Glmatrix不符合pubspec package layout conventions(您自己的项目也应该符合这一点)。虽然我认为酒吧目前可以处理不合格的布局,但未来可能不会。因此,您可以要求项目所有者修复,或者自行修改并修复它。

<强>第三

由于您在Windows上,请确保git位于系统PATH变量中。如果你正在使用bash shell,git会起作用,但是在你将它添加到PATH之前它不会在bash之外工作(比如来自Dart编辑器)。