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