| 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 |