OLD | NEW |
| (Empty) |
1 --- | |
2 title: "Frequently Asked Questions" | |
3 --- | |
4 | |
5 ### What are pub's system requirements? | |
6 | |
7 Pub runs on any platform that supports the Dart VM. That basically means | |
8 relatively recent versions of Mac, Linux and Windows. | |
9 | |
10 However, there are a couple of limitations on Windows: | |
11 | |
12 * Windows XP is not supported. | |
13 * FAT32 file systems are not supported. | |
14 * Packages cannot be stored on a different drive than your user directory. | |
15 * Packages cannot be stored on network shares. | |
16 | |
17 Pub relies on junction points for core functionality, and those aren't available | |
18 on the above. We realize these limitations are painful and we're hoping to | |
19 address the root cause but it will take a while to get there. | |
20 | |
21 ### What are all the "packages" directories for? | |
22 | |
23 After you run pub, you'll notice that your package has little `packages` | |
24 directories sprinkled all over it. These are needed to make "package:" imports | |
25 work. When your code has an import with the "package" scheme, a Dart | |
26 implementation like the VM or dart2js translates that to a path or URL using a | |
27 simple rewriting rule: | |
28 | |
29 1. Take the URI of your application's [entrypoint](glossary.dart#entrypoint). | |
30 2. Strip off the trailing file name. | |
31 3. Append "/packages/" followed by the rest of the import URL. | |
32 | |
33 For example, if you app's entrypoint is `/dev/myapp/web/main.dart` then: | |
34 | |
35 {% highlight dart %} | |
36 import 'package:unittest/unittest.dart'; | |
37 {% endhighlight %} | |
38 | |
39 Magically turns into: | |
40 | |
41 {% highlight dart %} | |
42 import '/dev/myapp/web/packages/unittest/unittest.dart'; | |
43 {% endhighlight %} | |
44 | |
45 Then Dart loads that as normal. This behavior is a [specified][spec] part of | |
46 the Dart language. The example only works if you have a directory named | |
47 `packages` inside your `web` directory and that directory in turn contains the | |
48 packages that your app uses. | |
49 | |
50 [spec]: http://www.dartlang.org/docs/spec/ | |
51 | |
52 Pub creates these directories for you. The main one it creates is in the root | |
53 of your package. Inside that, it creates symlinks pointing to the `lib` | |
54 directories of each package your app [depends][] on. (The dependencies | |
55 themselves will usually live in your [system cache][].) | |
56 | |
57 [depends]: http://glossary.html#dependency | |
58 [system cache]: http://glossary.html#system-cache | |
59 | |
60 After creating the main `packages` directory in your package's root, pub then | |
61 creates secondary ones in every [directory in your package where a Dart | |
62 entrypoint may appear](glossary.html#entrypoint-directory). Currently that's | |
63 `benchmark`, `bin`, `example`, `test`, `tool`, and `web`. | |
64 | |
65 Pub also creates `packages` symlinks in *subdirectories* of any of those that | |
66 point back to the main one. Since you may have entrypoints under, for example, | |
67 `web/admin/controllers/`, pub makes sure there is always a nearby `packages` | |
68 directory. Otherwise the imports won't work. | |
69 | |
70 ### I found a bug in pub. How do I report it? | |
71 | |
72 We use the main [Dart bug tracker][]. Feel free to file a ticket. When you do, | |
73 please include: | |
74 | |
75 [dart bug tracker]: https://code.google.com/p/dart/issues/list | |
76 | |
77 * Your platform (Windows, Mac, Linux, etc.). | |
78 * The version you are running. (Run `pub version`.) | |
79 * If possible, include a log by running `pub --verbose <your command>`. | |
80 | |
81 ### How do I delete a package? | |
82 | |
83 Once a package is published, you're strongly discouraged from deleting it. | |
84 After all, some user could already be depending on it! If you accidentally | |
85 include your password or something similarly secret in the package, | |
86 [file an issue][delete-request] and the Pub authors will take down your | |
87 package. You'll need to use a different version when you re-upload it. | |
88 | |
89 [delete-request]: http://code.google.com/p/dart/issues/entry?summary=Request%20t
o%20delete%20package%20from%20pub&status=Triaged&labels=Type-Task,Priority-Mediu
m,Area-Pub,Pub-DeleteRequest | |
90 | |
91 ### I get a timeout when I run pub. What do I do? | |
92 | |
93 The [pub package server][] is hosted on [App Engine][]. We've seen a few times | |
94 where App Engine has run slowly for us and other users, leading to some | |
95 timeouts. If this happens, send us a note on the [mailing list][] and we'll | |
96 look into it. Usually it resolves itself in a few hours. | |
97 | |
98 [pub package server]: http://pub.dartlang.org | |
99 [app engine]: https://appengine.google.com | |
100 [mailing list]: https://groups.google.com/a/dartlang.org/forum/?fromgroups#!foru
m/misc | |
101 | |
102 ### Why doesn't pub do ___? | |
103 | |
104 Probably because we haven't implemented yet. Pub is still under active | |
105 development. If there are features you would like to see, go ahead and | |
106 [file a ticket][dart bug tracker]. Please search and make sure it hasn't | |
107 already been requested yet. If it has, star it so we know what things are | |
108 important to users. | |
109 | |
110 Also, patches are more than welcome! Pub is [open source][] and we love outside | |
111 contributions. Both the [client][] and [server][] are well-tested, | |
112 well-documented, and, we hope, easy to contribute to. | |
113 | |
114 [open source]: https://code.google.com/p/dart/wiki/GettingTheSource?tm=4 | |
115 [client]: https://code.google.com/p/dart/source/browse/#svn%2Fbranches%2Fbleedin
g_edge%2Fdart%2Fsdk%2Flib%2F_internal%2Fpub | |
116 [server]: https://github.com/dart-lang/pub-dartlang | |
117 | |
118 ### What is the roadmap for pub? | |
119 | |
120 We don't generally make public roadmaps for pub. The Dart project is very fluid | |
121 and priorities and schedules change very frequently. If we make promises for | |
122 the future, we are likely to end up disappointing users when plans change. | |
123 | |
124 You can usually get a picture for what we are working on now by seeing which | |
125 [bugs we have started][started]. | |
126 | |
127 [started]: https://code.google.com/p/dart/issues/list?can=2&q=Area%3DPub+status%
3AStarted+&colspec=ID+Type+Status+Priority+Area+Milestone+Owner+Summary&cells=ti
les | |
128 | |
129 ### How do I report abuse of pub.dartlang.org? | |
130 | |
131 Please contact us at [pub-abuse@dartlang.org][abuse] to discuss the situation. | |
132 | |
133 [abuse]: mailto:pub-abuse@dartlang.org | |
134 | |
135 ### I still have questions. What should I do? | |
136 | |
137 Send an email to the main Dart [mailing list][] and we'll see it. | |
OLD | NEW |