mirror of https://github.com/lukechilds/node.git
Browse Source
PR-URL: https://github.com/nodejs/node/pull/4958 Reviewed-By: Myles Borins <mborins@us.ibm.com> Reviewed-By: Kat Marchán <kzm@sykosomatic.org> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>v5.x
Rebecca Turner
9 years ago
committed by
Rod Vagg
2031 changed files with 83370 additions and 46911 deletions
File diff suppressed because it is too large
@ -1,5 +1,5 @@ |
|||
if not defined npm_config_node_gyp ( |
|||
node "%~dp0\..\..\node_modules\node-gyp\bin\node-gyp.js" %* |
|||
) else ( |
|||
node %npm_config_node_gyp% %* |
|||
node "%npm_config_node_gyp%" %* |
|||
) |
|||
|
@ -0,0 +1,743 @@ |
|||
### v1.4.29 (2015-10-29): |
|||
|
|||
#### THINGS ARE HAPPENING IN LTS LAND |
|||
|
|||
In a special one-off release as part of the [strategy to get a version of npm |
|||
into Node LTS that works with the current |
|||
registry](https://github.com/nodejs/LTS/issues/37), modify npm to print out |
|||
this deprecation banner literally every time npm is invoked to do anything: |
|||
|
|||
``` |
|||
npm WARN deprecated This version of npm lacks support for important features, |
|||
npm WARN deprecated such as scoped packages, offered by the primary npm |
|||
npm WARN deprecated registry. Consider upgrading to at least npm@2, if not the |
|||
npm WARN deprecated latest stable version. To upgrade to npm@2, run: |
|||
npm WARN deprecated |
|||
npm WARN deprecated npm -g install npm@latest-2 |
|||
npm WARN deprecated |
|||
npm WARN deprecated To upgrade to the latest stable version, run: |
|||
npm WARN deprecated |
|||
npm WARN deprecated npm -g install npm@latest |
|||
npm WARN deprecated |
|||
npm WARN deprecated (Depending on how Node.js was installed on your system, you |
|||
npm WARN deprecated may need to prefix the preceding commands with `sudo`, or if |
|||
npm WARN deprecated on Windows, run them from an Administrator prompt.) |
|||
npm WARN deprecated |
|||
npm WARN deprecated If you're running the version of npm bundled with |
|||
npm WARN deprecated Node.js 0.10 LTS, be aware that the next version of 0.10 LTS |
|||
npm WARN deprecated will be bundled with a version of npm@2, which has some small |
|||
npm WARN deprecated backwards-incompatible changes made to `npm run-script` and |
|||
npm WARN deprecated semver behavior. |
|||
``` |
|||
|
|||
The message basically tells the tale: Node 0.10 will finally be getting |
|||
`npm@2`, so those of you who haven't upgraded your build systems to deal with |
|||
its (relatively small) breaking changes should do so now. |
|||
|
|||
Also, this version doesn't even pretend that it can deal with scoped packages, |
|||
which, given the confusing behavior of older versions of `npm@1.4`, where it |
|||
would sometimes try to install packages from GitHub, is a distinct improvement. |
|||
|
|||
There is no good reason for you as an end user to upgrade to this version of |
|||
npm yourself. |
|||
|
|||
* [`709e9b4`](https://github.com/npm/npm/commit/709e9b44f5df9817a1c4babfbf26a2329bd265fb) |
|||
Print 20-line deprecation banner on all command invocations. |
|||
([@othiym23](https://github.com/othiym23)) |
|||
* [`0c29d09`](https://github.com/npm/npm/commit/0c29d0906608e8e174bd30a7a245e19795326051) |
|||
Crash out immediately with an exhortation to upgrade on attempts to use |
|||
scoped packages. ([@othiym23](https://github.com/othiym23)) |
|||
|
|||
### v1.5.0-alpha-4 (2014-07-18): |
|||
|
|||
* fall back to `_auth` config as default auth when using default registry |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* support for 'init.version' for those who don't want to deal with semver 0.0.x |
|||
oddities ([@rvagg](https://github.com/rvagg)) |
|||
* [`be06213`](https://github.com/npm/npm/commit/be06213415f2d51a50d2c792b4cd0d3412a9a7b1) |
|||
remove residual support for `win` log level |
|||
([@aterris](https://github.com/aterris)) |
|||
|
|||
### v1.5.0-alpha-3 (2014-07-17): |
|||
|
|||
* [`a3a85dd`](https://github.com/npm/npm/commit/a3a85dd004c9245a71ad2f0213bd1a9a90d64cd6) |
|||
`--save` scoped packages correctly ([@othiym23](https://github.com/othiym23)) |
|||
* [`18a3385`](https://github.com/npm/npm/commit/18a3385bcf8bfb8312239216afbffb7eec759150) |
|||
`npm-registry-client@3.0.2` ([@othiym23](https://github.com/othiym23)) |
|||
* [`375988b`](https://github.com/npm/npm/commit/375988b9bf5aa5170f06a790d624d31b1eb32c6d) |
|||
invalid package names are an early error for optional deps |
|||
([@othiym23](https://github.com/othiym23)) |
|||
* consistently use `node-package-arg` instead of arbitrary package spec |
|||
splitting ([@othiym23](https://github.com/othiym23)) |
|||
|
|||
### v1.5.0-alpha-2 (2014-07-01): |
|||
|
|||
* [`54cf625`](https://github.com/npm/npm/commit/54cf62534e3331e3f454e609e44f0b944e819283) |
|||
fix handling for 301s in `npm-registry-client@3.0.1` |
|||
([@Raynos](https://github.com/Raynos)) |
|||
* [`e410861`](https://github.com/npm/npm/commit/e410861c69a3799c1874614cb5b87af8124ff98d) |
|||
don't crash if no username set on `whoami` |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* [`0353dde`](https://github.com/npm/npm/commit/0353ddeaca8171aa7dbdd8102b7e2eb581a86406) |
|||
respect `--json` for output ([@isaacs](https://github.com/isaacs)) |
|||
* [`b3d112a`](https://github.com/npm/npm/commit/b3d112ae190b984cc1779b9e6de92218f22380c6) |
|||
outdated: Don't show headings if there's nothing to output |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* [`bb4b90c`](https://github.com/npm/npm/commit/bb4b90c80dbf906a1cb26d85bc0625dc2758acc3) |
|||
outdated: Default to `latest` rather than `*` for unspecified deps |
|||
([@isaacs](https://github.com/isaacs)) |
|||
|
|||
### v1.5.0-alpha-1 (2014-07-01): |
|||
|
|||
* [`eef4884`](https://github.com/npm/npm/commit/eef4884d6487ee029813e60a5f9c54e67925d9fa) |
|||
use the correct piece of the spec for GitHub shortcuts |
|||
([@othiym23](https://github.com/othiym23)) |
|||
|
|||
### v1.5.0-alpha-0 (2014-07-01): |
|||
|
|||
* [`7f55057`](https://github.com/npm/npm/commit/7f55057807cfdd9ceaf6331968e666424f48116c) |
|||
install scoped packages ([#5239](https://github.com/npm/npm/issues/5239)) |
|||
([@othiym23](https://github.com/othiym23)) |
|||
* [`0df7e16`](https://github.com/npm/npm/commit/0df7e16c0232d8f4d036ebf4ec3563215517caac) |
|||
publish scoped packages ([#5239](https://github.com/npm/npm/issues/5239)) |
|||
([@othiym23](https://github.com/othiym23)) |
|||
* [`0689ba2`](https://github.com/npm/npm/commit/0689ba249b92b4c6279a26804c96af6f92b3a501) |
|||
support (and save) --scope=@s config |
|||
([@othiym23](https://github.com/othiym23)) |
|||
* [`f34878f`](https://github.com/npm/npm/commit/f34878fc4cee29901e4daf7bace94be01e25cad7) |
|||
scope credentials to registry ([@othiym23](https://github.com/othiym23)) |
|||
* [`0ac7ca2`](https://github.com/npm/npm/commit/0ac7ca233f7a69751fe4386af6c4daa3ee9fc0da) |
|||
capture and store bearer tokens when sent by registry |
|||
([@othiym23](https://github.com/othiym23)) |
|||
* [`63c3277`](https://github.com/npm/npm/commit/63c3277f089b2c4417e922826bdc313ac854cad6) |
|||
only delete files that are created by npm |
|||
([@othiym23](https://github.com/othiym23)) |
|||
* [`4f54043`](https://github.com/npm/npm/commit/4f540437091d1cbca3915cd20c2da83c2a88bb8e) |
|||
`npm-package-arg@2.0.0` ([@othiym23](https://github.com/othiym23)) |
|||
* [`9e1460e`](https://github.com/npm/npm/commit/9e1460e6ac9433019758481ec031358f4af4cd44) |
|||
`read-package-json@1.2.3` ([@othiym23](https://github.com/othiym23)) |
|||
* [`719d8ad`](https://github.com/npm/npm/commit/719d8adb9082401f905ff4207ede494661f8a554) |
|||
`fs-vacuum@1.2.1` ([@othiym23](https://github.com/othiym23)) |
|||
* [`9ef8fe4`](https://github.com/npm/npm/commit/9ef8fe4d6ead3acb3e88c712000e2d3a9480ebec) |
|||
`async-some@1.0.0` ([@othiym23](https://github.com/othiym23)) |
|||
* [`a964f65`](https://github.com/npm/npm/commit/a964f65ab662107b62a4ca58535ce817e8cca331) |
|||
`npmconf@2.0.1` ([@othiym23](https://github.com/othiym23)) |
|||
* [`113765b`](https://github.com/npm/npm/commit/113765bfb7d3801917c1d9f124b8b3d942bec89a) |
|||
`npm-registry-client@3.0.0` ([@othiym23](https://github.com/othiym23)) |
|||
|
|||
### v1.4.28 (2014-09-12): |
|||
|
|||
* [`f4540b6`](https://github.com/npm/npm/commit/f4540b6537a87e653d7495a9ddcf72949fdd4d14) |
|||
[#6043](https://github.com/npm/npm/issues/6043) defer rollbacks until just |
|||
before the CLI exits ([@isaacs](https://github.com/isaacs)) |
|||
* [`1eabfd5`](https://github.com/npm/npm/commit/1eabfd5c03f33c2bd28823714ff02059eeee3899) |
|||
[#6043](https://github.com/npm/npm/issues/6043) `slide@1.1.6`: wait until all |
|||
callbacks have finished before proceeding |
|||
([@othiym23](https://github.com/othiym23)) |
|||
|
|||
### v1.4.27 (2014-09-04): |
|||
|
|||
* [`4cf3c8f`](https://github.com/npm/npm/commit/4cf3c8fd78c9e2693a5f899f50c28f4823c88e2e) |
|||
[#6007](https://github.com/npm/npm/issues/6007) request@2.42.0: properly set |
|||
headers on proxy requests ([@isaacs](https://github.com/isaacs)) |
|||
* [`403cb52`](https://github.com/npm/npm/commit/403cb526be1472bb7545fa8e62d4976382cdbbe5) |
|||
[#6055](https://github.com/npm/npm/issues/6055) npmconf@1.1.8: restore |
|||
case-insensitivity of environmental config |
|||
([@iarna](https://github.com/iarna)) |
|||
|
|||
### v1.4.26 (2014-08-28): |
|||
|
|||
* [`eceea95`](https://github.com/npm/npm/commit/eceea95c804fa15b18e91c52c0beb08d42a3e77d) |
|||
`github-url-from-git@1.4.0`: add support for git+https and git+ssh |
|||
([@stefanbuck](https://github.com/stefanbuck)) |
|||
* [`e561758`](https://github.com/npm/npm/commit/e5617587e7d7ab686192391ce55357dbc7fed0a3) |
|||
`columnify@1.2.1` ([@othiym23](https://github.com/othiym23)) |
|||
* [`0c4fab3`](https://github.com/npm/npm/commit/0c4fab372ee76eab01dda83b6749429a8564902e) |
|||
`cmd-shim@2.0.0`: upgrade to graceful-fs 3 |
|||
([@ForbesLindesay](https://github.com/ForbesLindesay)) |
|||
* [`2d69e4d`](https://github.com/npm/npm/commit/2d69e4d95777671958b5e08d3b2f5844109d73e4) |
|||
`github-url-from-username-repo@1.0.0`: accept slashes in branch names |
|||
([@robertkowalski](https://github.com/robertkowalski)) |
|||
* [`81f9b2b`](https://github.com/npm/npm/commit/81f9b2bac9d34c223ea093281ba3c495f23f10d1) |
|||
ensure lifecycle spawn errors caught properly |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* [`bfaab8c`](https://github.com/npm/npm/commit/bfaab8c6e0942382a96b250634ded22454c36b5a) |
|||
`npm-registry-client@2.0.7`: properly encode % in passwords |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* [`91cfb58`](https://github.com/npm/npm/commit/91cfb58dda851377ec604782263519f01fd96ad8) |
|||
doc: Fix 'npm help index' ([@isaacs](https://github.com/isaacs)) |
|||
|
|||
### v1.4.25 (2014-08-21): |
|||
|
|||
* [`64c0ec2`](https://github.com/npm/npm/commit/64c0ec241ef5d83761ca8de54acb3c41b079956e) |
|||
`npm-registry-client@2.0.6`: Print the notification header returned by the |
|||
registry, and make sure status codes are printed without gratuitous quotes |
|||
around them. |
|||
([@othiym23](https://github.com/othiym23)) |
|||
* [`a8ed12b`](https://github.com/npm/npm/commit/a8ed12b) `tar@1.0.1`: |
|||
Add test for removing an extract target immediately after unpacking. |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* [`70fd11d`](https://github.com/npm/npm/commit/70fd11d) |
|||
`lockfile@1.0.0`: Fix incorrect interaction between `wait`, `stale`, |
|||
and `retries` options. Part 2 of race condition leading to `ENOENT` |
|||
errors. |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* [`0072c4d`](https://github.com/npm/npm/commit/0072c4d) |
|||
`fstream@1.0.2`: Fix a double-finish call which can result in excess |
|||
FS operations after the `close` event. Part 2 of race condition |
|||
leading to `ENOENT` errors. |
|||
([@isaacs](https://github.com/isaacs)) |
|||
|
|||
### v1.4.24 (2014-08-14): |
|||
|
|||
* [`9344bd9`](https://github.com/npm/npm/commit/9344bd9b2929b5c399a0e0e0b34d45bce7bc24bb) |
|||
doc: add new changelog ([@othiym23](https://github.com/othiym23)) |
|||
* [`4be76fd`](https://github.com/npm/npm/commit/4be76fd65e895883c337a99f275ccc8c801adda3) |
|||
doc: update version doc to include `pre-*` increment args |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* [`e4f2620`](https://github.com/npm/npm/commit/e4f262036080a282ad60e236a9aeebd39fde9fe4) |
|||
build: add `make tag` to tag current release as `latest` |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* [`ec2596a`](https://github.com/npm/npm/commit/ec2596a7cb626772780b25b0a94a7e547a812bd5) |
|||
build: publish with `--tag=v1.4-next` ([@isaacs](https://github.com/isaacs)) |
|||
* [`9ee55f8`](https://github.com/npm/npm/commit/9ee55f892b8b473032a43c59912c5684fd1b39e6) |
|||
build: add script to output `v1.4-next` publish tag |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* [`aecb56f`](https://github.com/npm/npm/commit/aecb56f95a84687ea46920a0b98aaa587fee1568) |
|||
build: remove outdated `docpublish` make target |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* [`b57a9b7`](https://github.com/npm/npm/commit/b57a9b7ccd13e6b38831ed63595c8ea5763da247) |
|||
build: remove unpublish step from `make publish` |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* [`2c6acb9`](https://github.com/npm/npm/commit/2c6acb96c71c16106965d5cd829b67195dd673c7) |
|||
install: rename `.gitignore` when unpacking foreign tarballs |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* [`22f3681`](https://github.com/npm/npm/commit/22f3681923e993a47fc1769ba735bfa3dd138082) |
|||
cache: detect non-gzipped tar files more reliably |
|||
([@isaacs](https://github.com/isaacs)) |
|||
|
|||
### v1.4.23 (2014-07-31): |
|||
|
|||
* [`8dd11d1`](https://github.com/npm/npm/commit/8dd11d1) update several |
|||
dependencies to avoid using `semver`s starting with 0. |
|||
|
|||
### v1.4.22 (2014-07-31): |
|||
|
|||
* [`d9a9e84`](https://github.com/npm/npm/commit/d9a9e84) `read-package-json@1.2.4` |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* [`86f0340`](https://github.com/npm/npm/commit/86f0340) |
|||
`github-url-from-git@1.2.0` ([@isaacs](https://github.com/isaacs)) |
|||
* [`a94136a`](https://github.com/npm/npm/commit/a94136a) `fstream@0.1.29` |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* [`bb82d18`](https://github.com/npm/npm/commit/bb82d18) `glob@4.0.5` |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* [`5b6bcf4`](https://github.com/npm/npm/commit/5b6bcf4) `cmd-shim@1.1.2` |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* [`c2aa8b3`](https://github.com/npm/npm/commit/c2aa8b3) license: Cleaned up |
|||
legalese with actual lawyer ([@isaacs](https://github.com/isaacs)) |
|||
* [`63fe0ee`](https://github.com/npm/npm/commit/63fe0ee) `init-package-json@1.0.0` |
|||
([@isaacs](https://github.com/isaacs)) |
|||
|
|||
### v1.4.21 (2014-07-14): |
|||
|
|||
* [`88f51aa`](https://github.com/npm/npm/commit/88f51aa27eb9a958d1fa7ec50fee5cfdedd05110) |
|||
fix handling for 301s in `npm-registry-client@2.0.3` |
|||
([@Raynos](https://github.com/Raynos)) |
|||
|
|||
### v1.4.20 (2014-07-02): |
|||
|
|||
* [`0353dde`](https://github.com/npm/npm/commit/0353ddeaca8171aa7dbdd8102b7e2eb581a86406) |
|||
respect `--json` for output ([@isaacs](https://github.com/isaacs)) |
|||
* [`b3d112a`](https://github.com/npm/npm/commit/b3d112ae190b984cc1779b9e6de92218f22380c6) |
|||
outdated: Don't show headings if there's nothing to output |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* [`bb4b90c`](https://github.com/npm/npm/commit/bb4b90c80dbf906a1cb26d85bc0625dc2758acc3) |
|||
outdated: Default to `latest` rather than `*` for unspecified deps |
|||
([@isaacs](https://github.com/isaacs)) |
|||
|
|||
### v1.4.19 (2014-07-01): |
|||
|
|||
* [`f687433`](https://github.com/npm/npm/commit/f687433) relative URLS for |
|||
working non-root registry URLS ([@othiym23](https://github.com/othiym23)) |
|||
* [`bea190c`](https://github.com/npm/npm/commit/bea190c) |
|||
[#5591](https://github.com/npm/npm/issues/5591) bump nopt and npmconf |
|||
([@isaacs](https://github.com/isaacs)) |
|||
|
|||
### v1.4.18 (2014-06-29): |
|||
|
|||
* Bump glob dependency from 4.0.2 to 4.0.3. It now uses graceful-fs when |
|||
available, increasing resilience to [various filesystem |
|||
errors](https://github.com/isaacs/node-graceful-fs#improvements-over-fs-module). |
|||
([@isaacs](https://github.com/isaacs)) |
|||
|
|||
### v1.4.17 (2014-06-27): |
|||
|
|||
* replace escape codes with ansicolors |
|||
([@othiym23](https://github.com/othiym23)) |
|||
* Allow to build all the docs OOTB. ([@GeJ](https://github.com/GeJ)) |
|||
* Use core.longpaths on win32 git - fixes |
|||
[#5525](https://github.com/npm/npm/issues/5525) ([@bmeck](https://github.com/bmeck)) |
|||
* `npmconf@1.1.2` ([@isaacs](https://github.com/isaacs)) |
|||
* Consolidate color sniffing in config/log loading process |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* add verbose log when project config file is ignored |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* npmconf: Float patch to remove 'scope' from config defs |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* doc: npm-explore can't handle a version |
|||
([@robertkowalski](https://github.com/robertkowalski)) |
|||
* Add user-friendly errors for ENOSPC and EROFS. |
|||
([@voodootikigod](https://github.com/voodootikigod)) |
|||
* bump tar and fstream deps ([@isaacs](https://github.com/isaacs)) |
|||
* Run the npm-registry-couchapp tests along with npm tests |
|||
([@isaacs](https://github.com/isaacs)) |
|||
|
|||
### v1.2.8000 (2014-06-17): |
|||
|
|||
* Same as v1.4.16, but with the spinner disabled, and a version number that |
|||
starts with v1.2. |
|||
|
|||
### v1.4.16 (2014-06-17): |
|||
|
|||
* `npm-registry-client@2.0.2` ([@isaacs](https://github.com/isaacs)) |
|||
* `fstream@0.1.27` ([@isaacs](https://github.com/isaacs)) |
|||
* `sha@1.2.4` ([@isaacs](https://github.com/isaacs)) |
|||
* `rimraf@2.2.8` ([@isaacs](https://github.com/isaacs)) |
|||
* `npmlog@1.0.1` ([@isaacs](https://github.com/isaacs)) |
|||
* `npm-registry-client@2.0.1` ([@isaacs](https://github.com/isaacs)) |
|||
* removed redundant dependency ([@othiym23](https://github.com/othiym23)) |
|||
* `npmconf@1.0.5` ([@isaacs](https://github.com/isaacs)) |
|||
* Properly handle errors that can occur in the config-loading process |
|||
([@isaacs](https://github.com/isaacs)) |
|||
|
|||
### v1.4.15 (2014-06-10): |
|||
|
|||
* cache: atomic de-race-ified package.json writing |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* `fstream@0.1.26` ([@isaacs](https://github.com/isaacs)) |
|||
* `graceful-fs@3.0.2` ([@isaacs](https://github.com/isaacs)) |
|||
* `osenv@0.1.0` ([@isaacs](https://github.com/isaacs)) |
|||
* Only spin the spinner when we're fetching stuff |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* Update `osenv@0.1.0` which removes ~/tmp as possible tmp-folder |
|||
([@robertkowalski](https://github.com/robertkowalski)) |
|||
* `ini@1.2.1` ([@isaacs](https://github.com/isaacs)) |
|||
* `graceful-fs@3` ([@isaacs](https://github.com/isaacs)) |
|||
* Update glob and things depending on glob |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* github-url-from-username-repo and read-package-json updates |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* `editor@0.1.0` ([@isaacs](https://github.com/isaacs)) |
|||
* `columnify@1.1.0` ([@isaacs](https://github.com/isaacs)) |
|||
* bump ansi and associated deps ([@isaacs](https://github.com/isaacs)) |
|||
|
|||
### v1.4.14 (2014-06-05): |
|||
|
|||
* char-spinner: update to not bork windows |
|||
([@isaacs](https://github.com/isaacs)) |
|||
|
|||
### v1.4.13 (2014-05-23): |
|||
|
|||
* Fix `npm install` on a tarball. |
|||
([`ed3abf1`](https://github.com/npm/npm/commit/ed3abf1aa10000f0f687330e976d78d1955557f6), |
|||
[#5330](https://github.com/npm/npm/issues/5330), |
|||
[@othiym23](https://github.com/othiym23)) |
|||
* Fix an issue with the spinner on Node 0.8. |
|||
([`9f00306`](https://github.com/npm/npm/commit/9f003067909440390198c0b8f92560d84da37762), |
|||
[@isaacs](https://github.com/isaacs)) |
|||
* Re-add `npm.commands.cache.clean` and `npm.commands.cache.read` APIs, and |
|||
document `npm.commands.cache.*` as npm-cache(3). |
|||
([`e06799e`](https://github.com/npm/npm/commit/e06799e77e60c1fc51869619083a25e074d368b3), |
|||
[@isaacs](https://github.com/isaacs)) |
|||
|
|||
### v1.4.12 (2014-05-23): |
|||
|
|||
* remove normalize-package-data from top level, de-^-ify inflight dep |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* Always sort saved bundleDependencies ([@isaacs](https://github.com/isaacs)) |
|||
* add inflight to bundledDependencies |
|||
([@othiym23](https://github.com/othiym23)) |
|||
|
|||
### v1.4.11 (2014-05-22): |
|||
|
|||
* fix `npm ls` labeling issue |
|||
* `node-gyp@0.13.1` |
|||
* default repository to https:// instead of git:// |
|||
* addLocalTarball: Remove extraneous unpack |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* Massive cache folder refactor ([@othiym23](https://github.com/othiym23) and |
|||
[@isaacs](https://github.com/isaacs)) |
|||
* Busy Spinner, no http noise ([@isaacs](https://github.com/isaacs)) |
|||
* Per-project .npmrc file support ([@isaacs](https://github.com/isaacs)) |
|||
* `npmconf@1.0.0`, Refactor config/uid/prefix loading process |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* Allow once-disallowed characters in passwords |
|||
([@isaacs](https://github.com/isaacs)) |
|||
* Send npm version as 'version' header ([@isaacs](https://github.com/isaacs)) |
|||
* fix cygwin encoding issue (Karsten Tinnefeld) |
|||
* Allow non-github repositories with `npm repo` |
|||
([@evanlucas](https://github.com/evanlucas)) |
|||
* Allow peer deps to be satisfied by grandparent |
|||
* Stop optional deps moving into deps on `update --save` |
|||
([@timoxley](https://github.com/timoxley)) |
|||
* Ensure only matching deps update with `update --save*` |
|||
([@timoxley](https://github.com/timoxley)) |
|||
* Add support for `prerelease`, `preminor`, `prepatch` to `npm version` |
|||
|
|||
### v1.4.10 (2014-05-05): |
|||
|
|||
* Don't set referer if already set |
|||
* fetch: Send referer and npm-session headers |
|||
* `run-script`: Support `--parseable` and `--json` |
|||
* list runnable scripts ([@evanlucas](https://github.com/evanlucas)) |
|||
* Use marked instead of ronn for html docs |
|||
|
|||
### v1.4.9 (2014-05-01): |
|||
|
|||
* Send referer header (with any potentially private stuff redacted) |
|||
* Fix critical typo bug in previous npm release |
|||
|
|||
### v1.4.8 (2014-05-01): |
|||
|
|||
* Check SHA before using files from cache |
|||
* adduser: allow change of the saved password |
|||
* Make `npm install` respect `config.unicode` |
|||
* Fix lifecycle to pass `Infinity` for config env value |
|||
* Don't return 0 exit code on invalid command |
|||
* cache: Handle 404s and other HTTP errors as errors |
|||
* Resolve ~ in path configs to env.HOME |
|||
* Include npm version in default user-agent conf |
|||
* npm init: Use ISC as default license, use save-prefix for deps |
|||
* Many test and doc fixes |
|||
|
|||
### v1.4.7 (2014-04-15): |
|||
|
|||
* Add `--save-prefix` option that can be used to override the default of `^` |
|||
when using `npm install --save` and its counterparts. |
|||
([`64eefdf`](https://github.com/npm/npm/commit/64eefdfe26bb27db8dc90e3ab5d27a5ef18a4470), |
|||
[@thlorenz](https://github.com/thlorenz)) |
|||
* Allow `--silent` to silence the echoing of commands that occurs with `npm |
|||
run`. |
|||
([`c95cf08`](https://github.com/npm/npm/commit/c95cf086e5b97dbb48ff95a72517b203a8f29eab), |
|||
[@Raynos](https://github.com/Raynos)) |
|||
* Some speed improvements to the cache, which should improve install times. |
|||
([`cb94310`](https://github.com/npm/npm/commit/cb94310a6adb18cb7b881eacb8d67171eda8b744), |
|||
[`3b0870f`](https://github.com/npm/npm/commit/3b0870fb2f40358b3051abdab6be4319d196b99d), |
|||
[`120f5a9`](https://github.com/npm/npm/commit/120f5a93437bbbea9249801574a2f33e44e81c33), |
|||
[@isaacs](https://github.com/isaacs)) |
|||
* Improve ability to retry registry requests when a subset of the registry |
|||
servers are down. |
|||
([`4a5257d`](https://github.com/npm/npm/commit/4a5257de3870ac3dafa39667379f19f6dcd6093e), |
|||
https://github.com/npm/npm-registry-client/commit/7686d02cb0b844626d6a401e58c0755ef3bc8432, |
|||
[@isaacs](https://github.com/isaacs)) |
|||
* Fix marking of peer dependencies as extraneous. |
|||
([`779b164`](https://github.com/npm/npm/commit/779b1649764607b062c031c7e5c972151b4a1754), |
|||
https://github.com/npm/read-installed/commit/6680ba6ef235b1ca3273a00b70869798ad662ddc, |
|||
[@isaacs](https://github.com/isaacs)) |
|||
* Fix npm crashing when doing `npm shrinkwrap` in the presence of a |
|||
`package.json` with no dependencies. |
|||
([`a9d9fa5`](https://github.com/npm/npm/commit/a9d9fa5ad3b8c925a589422b7be28d2735f320b0), |
|||
[@kislyuk](https://github.com/kislyuk)) |
|||
* Fix error when using `npm view` on packages that have no versions or have |
|||
been unpublished. |
|||
([`94df2f5`](https://github.com/npm/npm/commit/94df2f56d684b35d1df043660180fc321b743dc8), |
|||
[@juliangruber](https://github.com/juliangruber); |
|||
[`2241a09`](https://github.com/npm/npm/commit/2241a09c843669c70633c399ce698cec3add40b3), |
|||
[@isaacs](https://github.com/isaacs)) |
|||
|
|||
### v1.4.6 (2014-03-19): |
|||
|
|||
* Fix extraneous package detection to work in more cases. |
|||
([`f671286`](https://github.com/npm/npm/commit/f671286), npm/read-installed#20, |
|||
[@LaurentVB](https://github.com/LaurentVB)) |
|||
|
|||
### v1.4.5 (2014-03-18): |
|||
|
|||
* Sort dependencies in `package.json` when doing `npm install --save` and all |
|||
its variants. |
|||
([`6fd6ff7`](https://github.com/npm/npm/commit/6fd6ff7e536ea6acd33037b1878d4eca1f931985), |
|||
[@domenic](https://github.com/domenic)) |
|||
* Add `--save-exact` option, usable alongside `--save` and its variants, which |
|||
will write the exact version number into `package.json` instead of the |
|||
appropriate semver-compatibility range. |
|||
([`17f07df`](https://github.com/npm/npm/commit/17f07df8ad8e594304c2445bf7489cb53346f2c5), |
|||
[@timoxley](https://github.com/timoxley)) |
|||
* Accept gzipped content from the registry to speed up downloads and save |
|||
bandwidth. |
|||
([`a3762de`](https://github.com/npm/npm/commit/a3762de843b842be8fa0ab57cdcd6b164f145942), |
|||
npm/npm-registry-client#40, [@fengmk2](https://github.com/fengmk2)) |
|||
* Fix `npm ls`'s `--depth` and `--log` options. |
|||
([`1d29b17`](https://github.com/npm/npm/commit/1d29b17f5193d52a5c4faa412a95313dcf41ed91), |
|||
npm/read-installed#13, [@zertosh](https://github.com/zertosh)) |
|||
* Fix "Adding a cache directory to the cache will make the world implode" in |
|||
certain cases. |
|||
([`9a4b2c4`](https://github.com/npm/npm/commit/9a4b2c4667c2b1e0054e3d5611ab86acb1760834), |
|||
domenic/path-is-inside#1, [@pmarques](https://github.com/pmarques)) |
|||
* Fix readmes not being uploaded in certain rare cases. |
|||
([`527b72c`](https://github.com/npm/npm/commit/527b72cca6c55762b51e592c48a9f28cc7e2ff8b), |
|||
[@isaacs](https://github.com/isaacs)) |
|||
|
|||
### v1.4.4 (2014-02-20): |
|||
|
|||
* Add `npm t` as an alias for `npm test` (which is itself an alias for `npm run |
|||
test`, or even `npm run-script test`). We like making running your tests |
|||
easy. ([`14e650b`](https://github.com/npm/npm/commit/14e650bce0bfebba10094c961ac104a61417a5de), [@isaacs](https://github.com/isaacs)) |
|||
|
|||
### v1.4.3 (2014-02-16): |
|||
|
|||
* Add back `npm prune --production`, which was removed in 1.3.24. |
|||
([`acc4d02`](https://github.com/npm/npm/commit/acc4d023c57d07704b20a0955e4bf10ee91bdc83), |
|||
[@davglass](https://github.com/davglass)) |
|||
* Default `npm install --save` and its counterparts to use the `^` version |
|||
specifier, instead of `~`. |
|||
([`0a3151c`](https://github.com/npm/npm/commit/0a3151c9cbeb50c1c65895685c2eabdc7e2608dc), |
|||
[@mikolalysenko](https://github.com/mikolalysenko)) |
|||
* Make `npm shrinkwrap` output dependencies in a sorted order, so that diffs |
|||
between shrinkwrap files should be saner now. |
|||
([`059b2bf`](https://github.com/npm/npm/commit/059b2bfd06ae775205a37257dca80142596a0113), |
|||
[@Raynos](https://github.com/Raynos)) |
|||
* Fix `npm dedupe` not correctly respecting dependency constraints. |
|||
([`86028e9`](https://github.com/npm/npm/commit/86028e9fd8524d5e520ce01ba2ebab5a030103fc), |
|||
[@rafeca](https://github.com/rafeca)) |
|||
* Fix `npm ls` giving spurious warnings when you used `"latest"` as a version |
|||
specifier. |
|||
(https://github.com/npm/read-installed/commit/d2956400e0386931c926e0f30c334840e0938f14, |
|||
[@bajtos](https://github.com/bajtos)) |
|||
* Fixed a bug where using `npm link` on packages without a `name` value could |
|||
cause npm to delete itself. |
|||
([`401a642`](https://github.com/npm/npm/commit/401a64286aa6665a94d1d2f13604f7014c5fce87), |
|||
[@isaacs](https://github.com/isaacs)) |
|||
* Fixed `npm install ./pkg@1.2.3` to actually install the directory at |
|||
`pkg@1.2.3`; before it would try to find version `1.2.3` of the package |
|||
`./pkg` in the npm registry. |
|||
([`46d8768`](https://github.com/npm/npm/commit/46d876821d1dd94c050d5ebc86444bed12c56739), |
|||
[@rlidwka](https://github.com/rlidwka); see also |
|||
[`f851b79`](https://github.com/npm/npm/commit/f851b79a71d9a5f5125aa85877c94faaf91bea5f)) |
|||
* Fix `npm outdated` to respect the `color` configuration option. |
|||
([`d4f6f3f`](https://github.com/npm/npm/commit/d4f6f3ff83bd14fb60d3ac6392cb8eb6b1c55ce1), |
|||
[@timoxley](https://github.com/timoxley)) |
|||
* Fix `npm outdated --parseable`. |
|||
([`9575a23`](https://github.com/npm/npm/commit/9575a23f955ce3e75b509c89504ef0bd707c8cf6), |
|||
[@yhpark](https://github.com/yhpark)) |
|||
* Fix a lockfile-related errors when using certain Git URLs. |
|||
([`164b97e`](https://github.com/npm/npm/commit/164b97e6089f64e686db7a9a24016f245effc37f), |
|||
[@nigelzor](https://github.com/nigelzor)) |
|||
|
|||
### v1.4.2 (2014-02-13): |
|||
|
|||
* Fixed an issue related to mid-publish GET requests made against the registry. |
|||
(https://github.com/npm/npm-registry-client/commit/acbec48372bc1816c67c9e7cbf814cf50437ff93, |
|||
[@isaacs](https://github.com/isaacs)) |
|||
|
|||
### v1.4.1 (2014-02-13): |
|||
|
|||
* Fix `npm shrinkwrap` forgetting to shrinkwrap dependencies that were also |
|||
development dependencies. |
|||
([`9c575c5`](https://github.com/npm/npm/commit/9c575c56efa9b0c8b0d4a17cb9c1de3833004bcd), |
|||
[@diwu1989](https://github.com/diwu1989)) |
|||
* Fixed publishing of pre-existing packages with uppercase characters in their |
|||
name. |
|||
(https://github.com/npm/npm-registry-client/commit/9345d3b6c3d8510dd5c4418f27ee1fce59acebad, |
|||
[@isaacs](https://github.com/isaacs)) |
|||
|
|||
### v1.4.0 (2014-02-12): |
|||
|
|||
* Remove `npm publish --force`. See |
|||
https://github.com/npm/npmjs.org/issues/148. |
|||
([@isaacs](https://github.com/isaacs), |
|||
npm/npm-registry-client@2c8dba990de6a59af6545b75cc00a6dc12777c2a) |
|||
* Other changes to the registry client related to saved configs and couch |
|||
logins. ([@isaacs](https://github.com/isaacs); |
|||
npm/npm-registry-client@25e2b019a1588155e5f87d035c27e79963b75951, |
|||
npm/npm-registry-client@9e41e9101b68036e0f078398785f618575f3cdde, |
|||
npm/npm-registry-client@2c8dba990de6a59af6545b75cc00a6dc12777c2a) |
|||
* Show an error to the user when doing `npm update` and the `package.json` |
|||
specifies a version that does not exist. |
|||
([@evanlucas](https://github.com/evanlucas), |
|||
[`027a33a`](https://github.com/npm/npm/commit/027a33a5c594124cc1d82ddec5aee2c18bc8dc32)) |
|||
* Fix some issues with cache ownership in certain installation configurations. |
|||
([@outcoldman](https://github.com/outcoldman), |
|||
[`a132690`](https://github.com/npm/npm/commit/a132690a2876cda5dcd1e4ca751f21dfcb11cb9e)) |
|||
* Fix issues where GitHub shorthand dependencies `user/repo` were not always |
|||
treated the same as full Git URLs. |
|||
([@robertkowalski](https://github.com/robertkowalski), |
|||
https://github.com/meryn/normalize-package-data/commit/005d0b637aec1895117fcb4e3b49185eebf9e240) |
|||
|
|||
### v1.3.26 (2014-02-02): |
|||
|
|||
* Fixes and updates to publishing code |
|||
([`735427a`](https://github.com/npm/npm/commit/735427a69ba4fe92aafa2d88f202aaa42920a9e2) |
|||
and |
|||
[`c0ac832`](https://github.com/npm/npm/commit/c0ac83224d49aa62e55577f8f27d53bbfd640dc5), |
|||
[@isaacs](https://github.com/isaacs)) |
|||
* Fix `npm bugs` with no arguments. |
|||
([`b99d465`](https://github.com/npm/npm/commit/b99d465221ac03bca30976cbf4d62ca80ab34091), |
|||
[@Hoops](https://github.com/Hoops)) |
|||
|
|||
### v1.3.25 (2014-01-25): |
|||
|
|||
* Remove gubblebum blocky font from documentation headers. |
|||
([`6940c9a`](https://github.com/npm/npm/commit/6940c9a100160056dc6be8f54a7ad7fa8ceda7e2), |
|||
[@isaacs](https://github.com/isaacs)) |
|||
|
|||
### v1.3.24 (2014-01-19): |
|||
|
|||
* Make the search output prettier, with nice truncated columns, and a `--long` |
|||
option to create wrapping columns. |
|||
([`20439b2`](https://github.com/npm/npm/commit/20439b2) and |
|||
[`3a6942d`](https://github.com/npm/npm/commit/3a6942d), |
|||
[@timoxley](https://github.com/timoxley)) |
|||
* Support multiple packagenames in `npm docs`. |
|||
([`823010b`](https://github.com/npm/npm/commit/823010b), |
|||
[@timoxley](https://github.com/timoxley)) |
|||
* Fix the `npm adduser` bug regarding "Error: default value must be string or |
|||
number" again. ([`b9b4248`](https://github.com/npm/npm/commit/b9b4248), |
|||
[@isaacs](https://github.com/isaacs)) |
|||
* Fix `scripts` entries containing whitespaces on Windows. |
|||
([`80282ed`](https://github.com/npm/npm/commit/80282ed), |
|||
[@robertkowalski](https://github.com/robertkowalski)) |
|||
* Fix `npm update` for Git URLs that have credentials in them |
|||
([`93fc364`](https://github.com/npm/npm/commit/93fc364), |
|||
[@danielsantiago](https://github.com/danielsantiago)) |
|||
* Fix `npm install` overwriting `npm link`-ed dependencies when they are tagged |
|||
Git dependencies. ([`af9bbd9`](https://github.com/npm/npm/commit/af9bbd9), |
|||
[@evanlucas](https://github.com/evanlucas)) |
|||
* Remove `npm prune --production` since it buggily removed some dependencies |
|||
that were necessary for production; see |
|||
[#4509](https://github.com/npm/npm/issues/4509). Hopefully it can make its |
|||
triumphant return, one day. |
|||
([`1101b6a`](https://github.com/npm/npm/commit/1101b6a), |
|||
[@isaacs](https://github.com/isaacs)) |
|||
|
|||
Dependency updates: |
|||
* [`909cccf`](https://github.com/npm/npm/commit/909cccf) `read-package-json@1.1.6` |
|||
* [`a3891b6`](https://github.com/npm/npm/commit/a3891b6) `rimraf@2.2.6` |
|||
* [`ac6efbc`](https://github.com/npm/npm/commit/ac6efbc) `sha@1.2.3` |
|||
* [`dd30038`](https://github.com/npm/npm/commit/dd30038) `node-gyp@0.12.2` |
|||
* [`c8c3ebe`](https://github.com/npm/npm/commit/c8c3ebe) `npm-registry-client@0.3.3` |
|||
* [`4315286`](https://github.com/npm/npm/commit/4315286) `npmconf@0.1.12` |
|||
|
|||
### v1.3.23 (2014-01-03): |
|||
|
|||
* Properly handle installations that contained a certain class of circular |
|||
dependencies. |
|||
([`5dc93e8`](https://github.com/npm/npm/commit/5dc93e8c82604c45b6067b1acf1c768e0bfce754), |
|||
[@substack](https://github.com/substack)) |
|||
|
|||
### v1.3.22 (2013-12-25): |
|||
|
|||
* Fix a critical bug in `npm adduser` that would manifest in the error message |
|||
"Error: default value must be string or number." |
|||
([`fba4bd2`](https://github.com/npm/npm/commit/fba4bd24bc2ab00ccfeda2043aa53af7d75ef7ce), |
|||
[@isaacs](https://github.com/isaacs)) |
|||
* Allow `npm bugs` in the current directory to open the current package's bugs |
|||
URL. |
|||
([`d04cf64`](https://github.com/npm/npm/commit/d04cf6483932c693452f3f778c2fa90f6153a4af), |
|||
[@evanlucas](https://github.com/evanlucas)) |
|||
* Several fixes to various error messages to include more useful or updated |
|||
information. |
|||
([`1e6f2a7`](https://github.com/npm/npm/commit/1e6f2a72ca058335f9f5e7ca22d01e1a8bb0f9f7), |
|||
[`ff46366`](https://github.com/npm/npm/commit/ff46366bd40ff0ef33c7bac8400bc912c56201d1), |
|||
[`8b4bb48`](https://github.com/npm/npm/commit/8b4bb4815d80a3612186dc5549d698e7b988eb03); |
|||
[@rlidwka](https://github.com/rlidwka), |
|||
[@evanlucas](https://github.com/evanlucas)) |
|||
|
|||
### v1.3.21 (2013-12-17): |
|||
|
|||
* Fix a critical bug that prevented publishing due to incorrect hash |
|||
calculation. |
|||
([`4ca4a2c`](https://github.com/npm/npm-registry-client/commit/4ca4a2c6333144299428be6b572e2691aa59852e), |
|||
[@dominictarr](https://github.com/dominictarr)) |
|||
|
|||
### v1.3.20 (2013-12-17): |
|||
|
|||
* Fixes a critical bug in v1.3.19. Thankfully, due to that bug, no one could |
|||
install npm v1.3.19 :) |
|||
|
|||
### v1.3.19 (2013-12-16): |
|||
|
|||
* Adds atomic PUTs for publishing packages, which should result in far fewer |
|||
requests and less room for replication errors on the server-side. |
|||
|
|||
### v1.3.18 (2013-12-16): |
|||
|
|||
* Added an `--ignore-scripts` option, which will prevent `package.json` scripts |
|||
from being run. Most notably, this will work on `npm install`, so e.g. `npm |
|||
install --ignore-scripts` will not run preinstall and prepublish scripts. |
|||
([`d7e67bf`](https://github.com/npm/npm/commit/d7e67bf0d94b085652ec1c87d595afa6f650a8f6), |
|||
[@sqs](https://github.com/sqs)) |
|||
* Fixed a bug introduced in 1.3.16 that would manifest with certain cache |
|||
configurations, by causing spurious errors saying "Adding a cache directory |
|||
to the cache will make the world implode." |
|||
([`966373f`](https://github.com/npm/npm/commit/966373fad8d741637f9744882bde9f6e94000865), |
|||
[@domenic](https://github.com/domenic)) |
|||
* Re-fixed the multiple download of URL dependencies, whose fix was reverted in |
|||
1.3.17. |
|||
([`a362c3f`](https://github.com/npm/npm/commit/a362c3f1919987419ed8a37c8defa19d2e6697b0), |
|||
[@spmason](https://github.com/spmason)) |
|||
|
|||
### v1.3.17 (2013-12-11): |
|||
|
|||
* This release reverts |
|||
[`644c2ff`](https://github.com/npm/npm/commit/644c2ff3e3d9c93764f7045762477f48864d64a7), |
|||
which avoided re-downloading URL and shinkwrap dependencies when doing `npm |
|||
install`. You can see the in-depth reasoning in |
|||
[`d8c907e`](https://github.com/npm/npm/commit/d8c907edc2019b75cff0f53467e34e0ffd7e5fba); |
|||
the problem was, that the patch changed the behavior of `npm install -f` to |
|||
reinstall all dependencies. |
|||
* A new version of the no-re-downloading fix has been submitted as |
|||
[#4303](https://github.com/npm/npm/issues/4303) and will hopefully be |
|||
included in the next release. |
|||
|
|||
### v1.3.16 (2013-12-11): |
|||
|
|||
* Git URL dependencies are now updated on `npm install`, fixing a two-year old |
|||
bug |
|||
([`5829ecf`](https://github.com/npm/npm/commit/5829ecf032b392d2133bd351f53d3c644961396b), |
|||
[@robertkowalski](https://github.com/robertkowalski)). Additional progress on |
|||
reducing the resulting Git-related I/O is tracked as |
|||
[#4191](https://github.com/npm/npm/issues/4191), but for now, this will be a |
|||
big improvement. |
|||
* Added a `--json` mode to `npm outdated` to give a parseable output. |
|||
([`0b6c9b7`](https://github.com/npm/npm/commit/0b6c9b7c8c5579f4d7d37a0c24d9b7a12ccbe5fe), |
|||
[@yyx990803](https://github.com/yyx990803)) |
|||
* Made `npm outdated` much prettier and more useful. It now outputs a |
|||
color-coded and easy-to-read table. |
|||
([`fd3017f`](https://github.com/npm/npm/commit/fd3017fc3e9d42acf6394a5285122edb4dc16106), |
|||
[@quimcalpe](https://github.com/quimcalpe)) |
|||
* Added the `--depth` option to `npm outdated`, so that e.g. you can do `npm |
|||
outdated --depth=0` to show only top-level outdated dependencies. |
|||
([`1d184ef`](https://github.com/npm/npm/commit/1d184ef3f4b4bc309d38e9128732e3e6fb46d49c), |
|||
[@yyx990803](https://github.com/yyx990803)) |
|||
* Added a `--no-git-tag-version` option to `npm version`, for doing the usual |
|||
job of `npm version` minus the Git tagging. This could be useful if you need |
|||
to increase the version in other related files before actually adding the |
|||
tag. |
|||
([`59ca984`](https://github.com/npm/npm/commit/59ca9841ba4f4b2f11b8e72533f385c77ae9f8bd), |
|||
[@evanlucas](https://github.com/evanlucas)) |
|||
* Made `npm repo` and `npm docs` work without any arguments, adding them to the |
|||
list of npm commands that work on the package in the current directory when |
|||
invoked without arguments. |
|||
([`bf9048e`](https://github.com/npm/npm/commit/bf9048e2fa16d43fbc4b328d162b0a194ca484e8), |
|||
[@robertkowalski](https://github.com/robertkowalski); |
|||
[`07600d0`](https://github.com/npm/npm/commit/07600d006c652507cb04ac0dae9780e35073dd67), |
|||
[@wilmoore](https://github.com/wilmoore)). There are a few other commands we |
|||
still want to implement this for; see |
|||
[#4204](https://github.com/npm/npm/issues/4204). |
|||
* Pass through the `GIT_SSL_NO_VERIFY` environment variable to Git, if it is |
|||
set; we currently do this with a few other environment variables, but we |
|||
missed that one. |
|||
([`c625de9`](https://github.com/npm/npm/commit/c625de91770df24c189c77d2e4bc821f2265efa8), |
|||
[@arikon](https://github.com/arikon)) |
|||
* Fixed `npm dedupe` on Windows due to incorrect path separators being used |
|||
([`7677de4`](https://github.com/npm/npm/commit/7677de4583100bc39407093ecc6bc13715bf8161), |
|||
[@mcolyer](https://github.com/mcolyer)). |
|||
* Fixed the `npm help` command when multiple words were searched for; it |
|||
previously gave a `ReferenceError`. |
|||
([`6a28dd1`](https://github.com/npm/npm/commit/6a28dd147c6957a93db12b1081c6e0da44fe5e3c), |
|||
[@dereckson](https://github.com/dereckson)) |
|||
* Stopped re-downloading URL and shrinkwrap dependencies, as demonstrated in |
|||
[#3463](https://github.com/npm/npm/issues/3463) |
|||
([`644c2ff`](https://github.com/isaacs/npm/commit/644c2ff3e3d9c93764f7045762477f48864d64a7), |
|||
[@spmason](https://github.com/spmason)). You can use the `--force` option to |
|||
force re-download and installation of all dependencies. |
File diff suppressed because it is too large
@ -0,0 +1,25 @@ |
|||
# npm install-test(1) -- Install package(s) and run tests |
|||
|
|||
## SYNOPSIS |
|||
|
|||
npm install-test (with no args, in package dir) |
|||
npm install-test [<@scope>/]<name> |
|||
npm install-test [<@scope>/]<name>@<tag> |
|||
npm install-test [<@scope>/]<name>@<version> |
|||
npm install-test [<@scope>/]<name>@<version range> |
|||
npm install-test <tarball file> |
|||
npm install-test <tarball url> |
|||
npm install-test <folder> |
|||
|
|||
alias: npm it |
|||
common options: [--save|--save-dev|--save-optional] [--save-exact] [--dry-run] |
|||
|
|||
## DESCRIPTION |
|||
|
|||
This command runs an `npm install` followed immediately by an `npm test`. It |
|||
takes exactly the same arguments as `npm install`. |
|||
|
|||
## SEE ALSO |
|||
|
|||
- npm-install(1) |
|||
- npm-test(1) |
@ -1,393 +0,0 @@ |
|||
npm-faq(7) -- Frequently Asked Questions |
|||
======================================== |
|||
|
|||
## Where can I find these docs in HTML? |
|||
|
|||
<https://docs.npmjs.com/>, or run: |
|||
|
|||
npm config set viewer browser |
|||
|
|||
This command will set the npm docs to open in your default web browser rather than `man`. |
|||
|
|||
## It didn't work. |
|||
|
|||
Please provide a little more detail, search for the error via [Google](https://google.com) or [StackOverflow npm](http://stackoverflow.com/search?q=npm) to see if another developer has encountered a similar problem. |
|||
|
|||
## Why didn't it work? |
|||
|
|||
I don't know yet. |
|||
|
|||
Try reading the error output first, ensure this is a true npm issue and not a package issue. If you are having an issue with a package dependency, please submit your error to that particular package maintainer. |
|||
|
|||
For any npm issues, try following the instructions, or even retracing your steps. If the issue continues to persist, submit a bug with the steps to reproduce, please include the operating system you are working on, along with the error you recieve. |
|||
|
|||
## Where does npm put stuff? |
|||
|
|||
See `npm-folders(5)` |
|||
|
|||
tl;dr: |
|||
|
|||
* Use the `npm root` command to see where modules go, and the `npm bin` |
|||
command to see where executables go |
|||
* Global installs are different from local installs. If you install |
|||
something with the `-g` flag, then its executables go in `npm bin -g` |
|||
and its modules go in `npm root -g`. |
|||
|
|||
## How do I install something on my computer in a central location? |
|||
|
|||
Install it globally by tacking `-g` or `--global` to the command. (This |
|||
is especially important for command line utilities that need to add |
|||
their bins to the global system `PATH`.) |
|||
|
|||
## I installed something globally, but I can't `require()` it |
|||
|
|||
Install it locally. |
|||
|
|||
The global install location is a place for command-line utilities |
|||
to put their bins in the system `PATH`. It's not for use with `require()`. |
|||
|
|||
If you `require()` a module in your code, then that means it's a |
|||
dependency, and a part of your program. You need to install it locally |
|||
in your program. |
|||
|
|||
## Why can't npm just put everything in one place, like other package managers? |
|||
|
|||
Not every change is an improvement, but every improvement is a change. |
|||
This would be like asking git to do network IO for every commit. It's |
|||
not going to happen, because it's a terrible idea that causes more |
|||
problems than it solves. |
|||
|
|||
It is much harder to avoid dependency conflicts without nesting |
|||
dependencies. This is fundamental to the way that npm works, and has |
|||
proven to be an extremely successful approach. See `npm-folders(5)` for |
|||
more details. |
|||
|
|||
If you want a package to be installed in one place, and have all your |
|||
programs reference the same copy of it, then use the `npm link` command. |
|||
That's what it's for. Install it globally, then link it into each |
|||
program that uses it. |
|||
|
|||
## Whatever, I really want the old style 'everything global' style. |
|||
|
|||
Write your own package manager. You could probably even wrap up `npm` |
|||
in a shell script if you really wanted to. |
|||
|
|||
npm will not help you do something that is known to be a bad idea. |
|||
|
|||
## Should I check my `node_modules` folder into git? |
|||
|
|||
Usually, no. Allow npm to resolve dependencies for your packages. |
|||
|
|||
For packages you **deploy**, such as websites and apps, |
|||
you should use npm shrinkwrap to lock down your full dependency tree: |
|||
|
|||
<https://docs.npmjs.com/cli/shrinkwrap> |
|||
|
|||
If you are paranoid about depending on the npm ecosystem, |
|||
you should run a private npm mirror or a private cache. |
|||
|
|||
If you want 100% confidence in being able to reproduce the specific bytes |
|||
included in a deployment, you should use an additional mechanism that can |
|||
verify contents rather than versions. For example, |
|||
Amazon machine images, DigitalOcean snapshots, Heroku slugs, or simple tarballs. |
|||
|
|||
## Is it 'npm' or 'NPM' or 'Npm'? |
|||
|
|||
npm should never be capitalized unless it is being displayed in a |
|||
location that is customarily all-caps (such as the title of man pages.) |
|||
|
|||
## If 'npm' is an acronym, why is it never capitalized? |
|||
|
|||
Contrary to the belief of many, "npm" is not in fact an abbreviation for |
|||
"Node Package Manager". It is a recursive bacronymic abbreviation for |
|||
"npm is not an acronym". (If it was "ninaa", then it would be an |
|||
acronym, and thus incorrectly named.) |
|||
|
|||
"NPM", however, *is* an acronym (more precisely, a capitonym) for the |
|||
National Association of Pastoral Musicians. You can learn more |
|||
about them at <http://npm.org/>. |
|||
|
|||
In software, "NPM" is a Non-Parametric Mapping utility written by |
|||
Chris Rorden. You can analyze pictures of brains with it. Learn more |
|||
about the (capitalized) NPM program at <http://www.cabiatl.com/mricro/npm/>. |
|||
|
|||
The first seed that eventually grew into this flower was a bash utility |
|||
named "pm", which was a shortened descendent of "pkgmakeinst", a |
|||
bash function that was used to install various different things on different |
|||
platforms, most often using Yahoo's `yinst`. If `npm` was ever an |
|||
acronym for anything, it was `node pm` or maybe `new pm`. |
|||
|
|||
So, in all seriousness, the "npm" project is named after its command-line |
|||
utility, which was organically selected to be easily typed by a right-handed |
|||
programmer using a US QWERTY keyboard layout, ending with the |
|||
right-ring-finger in a postition to type the `-` key for flags and |
|||
other command-line arguments. That command-line utility is always |
|||
lower-case, though it starts most sentences it is a part of. |
|||
|
|||
## How do I list installed packages? |
|||
|
|||
`npm ls` |
|||
|
|||
## How do I search for packages? |
|||
|
|||
`npm search` |
|||
|
|||
Arguments are greps. `npm search jsdom` shows jsdom packages. |
|||
|
|||
## How do I update npm? |
|||
|
|||
npm install npm -g |
|||
|
|||
You can also update all outdated local packages by doing `npm update` without |
|||
any arguments, or global packages by doing `npm update -g`. |
|||
|
|||
Occasionally, the version of npm will progress such that the current |
|||
version cannot be properly installed with the version that you have |
|||
installed already. (Consider, if there is ever a bug in the `update` |
|||
command.) |
|||
|
|||
In those cases, you can do this: |
|||
|
|||
curl https://www.npmjs.com/install.sh | sh |
|||
|
|||
## What is a `package`? |
|||
|
|||
A package is: |
|||
|
|||
* a) a folder containing a program described by a package.json file |
|||
* b) a gzipped tarball containing (a) |
|||
* c) a url that resolves to (b) |
|||
* d) a `<name>@<version>` that is published on the registry with (c) |
|||
* e) a `<name>@<tag>` that points to (d) |
|||
* f) a `<name>` that has a "latest" tag satisfying (e) |
|||
* g) a `git` url that, when cloned, results in (a). |
|||
|
|||
Even if you never publish your package, you can still get a lot of |
|||
benefits of using npm if you just want to write a node program (a), and |
|||
perhaps if you also want to be able to easily install it elsewhere |
|||
after packing it up into a tarball (b). |
|||
|
|||
Git urls can be of the form: |
|||
|
|||
git://github.com/user/project.git#commit-ish |
|||
git+ssh://user@hostname:project.git#commit-ish |
|||
git+http://user@hostname/project/blah.git#commit-ish |
|||
git+https://user@hostname/project/blah.git#commit-ish |
|||
|
|||
The `commit-ish` can be any tag, sha, or branch which can be supplied as |
|||
an argument to `git checkout`. The default is `master`. |
|||
|
|||
## What is a `module`? |
|||
|
|||
A module is anything that can be loaded with `require()` in a Node.js |
|||
program. The following things are all examples of things that can be |
|||
loaded as modules: |
|||
|
|||
* A folder with a `package.json` file containing a `main` field. |
|||
* A folder with an `index.js` file in it. |
|||
* A JavaScript file. |
|||
|
|||
Most npm packages are modules, because they are libraries that you |
|||
load with `require`. However, there's no requirement that an npm |
|||
package be a module! Some only contain an executable command-line |
|||
interface, and don't provide a `main` field for use in Node programs. |
|||
|
|||
Almost all npm packages (at least, those that are Node programs) |
|||
*contain* many modules within them (because every file they load with |
|||
`require()` is a module). |
|||
|
|||
In the context of a Node program, the `module` is also the thing that |
|||
was loaded *from* a file. For example, in the following program: |
|||
|
|||
var req = require('request') |
|||
|
|||
we might say that "The variable `req` refers to the `request` module". |
|||
|
|||
## So, why is it the "`node_modules`" folder, but "`package.json`" file? Why not `node_packages` or `module.json`? |
|||
|
|||
The `package.json` file defines the package. (See "What is a |
|||
package?" above.) |
|||
|
|||
The `node_modules` folder is the place Node.js looks for modules. |
|||
(See "What is a module?" above.) |
|||
|
|||
For example, if you create a file at `node_modules/foo.js` and then |
|||
had a program that did `var f = require('foo.js')` then it would load |
|||
the module. However, `foo.js` is not a "package" in this case, |
|||
because it does not have a package.json. |
|||
|
|||
Alternatively, if you create a package which does not have an |
|||
`index.js` or a `"main"` field in the `package.json` file, then it is |
|||
not a module. Even if it's installed in `node_modules`, it can't be |
|||
an argument to `require()`. |
|||
|
|||
## `"node_modules"` is the name of my deity's arch-rival, and a Forbidden Word in my religion. Can I configure npm to use a different folder? |
|||
|
|||
No. This will never happen. This question comes up sometimes, |
|||
because it seems silly from the outside that npm couldn't just be |
|||
configured to put stuff somewhere else, and then npm could load them |
|||
from there. It's an arbitrary spelling choice, right? What's the big |
|||
deal? |
|||
|
|||
At the time of this writing, the string `'node_modules'` appears 151 |
|||
times in 53 separate files in npm and node core (excluding tests and |
|||
documentation). |
|||
|
|||
Some of these references are in node's built-in module loader. Since |
|||
npm is not involved **at all** at run-time, node itself would have to |
|||
be configured to know where you've decided to stick stuff. Complexity |
|||
hurdle #1. Since the Node module system is locked, this cannot be |
|||
changed, and is enough to kill this request. But I'll continue, in |
|||
deference to your deity's delicate feelings regarding spelling. |
|||
|
|||
Many of the others are in dependencies that npm uses, which are not |
|||
necessarily tightly coupled to npm (in the sense that they do not read |
|||
npm's configuration files, etc.) Each of these would have to be |
|||
configured to take the name of the `node_modules` folder as a |
|||
parameter. Complexity hurdle #2. |
|||
|
|||
Furthermore, npm has the ability to "bundle" dependencies by adding |
|||
the dep names to the `"bundledDependencies"` list in package.json, |
|||
which causes the folder to be included in the package tarball. What |
|||
if the author of a module bundles its dependencies, and they use a |
|||
different spelling for `node_modules`? npm would have to rename the |
|||
folder at publish time, and then be smart enough to unpack it using |
|||
your locally configured name. Complexity hurdle #3. |
|||
|
|||
Furthermore, what happens when you *change* this name? Fine, it's |
|||
easy enough the first time, just rename the `node_modules` folders to |
|||
`./blergyblerp/` or whatever name you choose. But what about when you |
|||
change it again? npm doesn't currently track any state about past |
|||
configuration settings, so this would be rather difficult to do |
|||
properly. It would have to track every previous value for this |
|||
config, and always accept any of them, or else yesterday's install may |
|||
be broken tomorrow. Complexity hurdle #4. |
|||
|
|||
Never going to happen. The folder is named `node_modules`. It is |
|||
written indelibly in the Node Way, handed down from the ancient times |
|||
of Node 0.3. |
|||
|
|||
## How do I install node with npm? |
|||
|
|||
You don't. Try one of these node version managers: |
|||
|
|||
Unix: |
|||
|
|||
* <http://github.com/isaacs/nave> |
|||
* <http://github.com/visionmedia/n> |
|||
* <http://github.com/creationix/nvm> |
|||
|
|||
Windows: |
|||
|
|||
* <http://github.com/marcelklehr/nodist> |
|||
* <https://github.com/coreybutler/nvm-windows> |
|||
* <https://github.com/hakobera/nvmw> |
|||
* <https://github.com/nanjingboy/nvmw> |
|||
|
|||
## How can I use npm for development? |
|||
|
|||
See `npm-developers(7)` and `package.json(5)`. |
|||
|
|||
You'll most likely want to `npm link` your development folder. That's |
|||
awesomely handy. |
|||
|
|||
To set up your own private registry, check out `npm-registry(7)`. |
|||
|
|||
## Can I list a url as a dependency? |
|||
|
|||
Yes. It should be a url to a gzipped tarball containing a single folder |
|||
that has a package.json in its root, or a git url. |
|||
(See "what is a package?" above.) |
|||
|
|||
## How do I symlink to a dev folder so I don't have to keep re-installing? |
|||
|
|||
See `npm-link(1)` |
|||
|
|||
## The package registry website. What is that exactly? |
|||
|
|||
See `npm-registry(7)`. |
|||
|
|||
## I forgot my password, and can't publish. How do I reset it? |
|||
|
|||
Go to <https://npmjs.com/forgot>. |
|||
|
|||
## I get ECONNREFUSED a lot. What's up? |
|||
|
|||
Either the registry is down, or node's DNS isn't able to reach out. |
|||
|
|||
To check if the registry is down, open up |
|||
<https://registry.npmjs.org/> in a web browser. This will also tell |
|||
you if you are just unable to access the internet for some reason. |
|||
|
|||
If the registry IS down, let us know by emailing <support@npmjs.com> |
|||
or posting an issue at <https://github.com/npm/npm/issues>. If it's |
|||
down for the world (and not just on your local network) then we're |
|||
probably already being pinged about it. |
|||
|
|||
You can also often get a faster response by visiting the #npm channel |
|||
on Freenode IRC. |
|||
|
|||
## Why no namespaces? |
|||
|
|||
npm has only one global namespace. If you want to namespace your own packages, |
|||
you may: simply use the `-` character to separate the names or use scoped |
|||
packages. npm is a mostly anarchic system. There is not sufficient need to |
|||
impose namespace rules on everyone. |
|||
|
|||
As of 2.0, npm supports scoped packages, which allow you to publish a group of |
|||
related modules without worrying about name collisions. |
|||
|
|||
Every npm user owns the scope associated with their username. For example, the |
|||
user named `npm` owns the scope `@npm`. Scoped packages are published inside a |
|||
scope by naming them as if they were files under the scope directory, e.g., by |
|||
setting `name` in `package.json` to `@npm/npm`. |
|||
|
|||
Scoped packages are supported by the public npm registry. The npm client is |
|||
backwards-compatible with un-scoped registries, so it can be used to work with |
|||
scoped and un-scoped registries at the same time. |
|||
|
|||
Unscoped packages can only depend on other unscoped packages. Scoped packages |
|||
can depend on packages from their own scope, a different scope, or the public |
|||
registry (unscoped). |
|||
|
|||
For the current documentation of scoped packages, see |
|||
<https://docs.npmjs.com/misc/scope> |
|||
|
|||
References: |
|||
|
|||
1. For the reasoning behind the "one global namespace", please see this |
|||
discussion: <https://github.com/npm/npm/issues/798> (TL;DR: It doesn't |
|||
actually make things better, and can make them worse.) |
|||
|
|||
2. For the pre-implementation discussion of the scoped package feature, see |
|||
this discussion: <https://github.com/npm/npm/issues/5239> |
|||
|
|||
## Who does npm? |
|||
|
|||
npm was originally written by Isaac Z. Schlueter, and many others have |
|||
contributed to it, some of them quite substantially. |
|||
|
|||
The npm open source project, The npm Registry, and [the community |
|||
website](https://www.npmjs.com) are maintained and operated by the |
|||
good folks at [npm, Inc.](http://www.npmjs.com) |
|||
|
|||
## I have a question or request not addressed here. Where should I put it? |
|||
|
|||
Post an issue on the github project: |
|||
|
|||
* <https://github.com/npm/npm/issues> |
|||
|
|||
## Why does npm hate me? |
|||
|
|||
npm is not capable of hatred. It loves everyone, especially you. |
|||
|
|||
## SEE ALSO |
|||
|
|||
* npm(1) |
|||
* npm-developers(7) |
|||
* package.json(5) |
|||
* npm-config(1) |
|||
* npm-config(7) |
|||
* npmrc(5) |
|||
* npm-config(7) |
|||
* npm-folders(5) |
@ -0,0 +1,45 @@ |
|||
<!doctype html> |
|||
<html> |
|||
<title>npm-install-test</title> |
|||
<meta http-equiv="content-type" value="text/html;utf-8"> |
|||
<link rel="stylesheet" type="text/css" href="../../static/style.css"> |
|||
<link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-install-test.html"> |
|||
<script async=true src="../../static/toc.js"></script> |
|||
|
|||
<body> |
|||
<div id="wrapper"> |
|||
|
|||
<h1>npm <a href="../cli/install-test.html">install-test</a></h1> <p>Install package(s) and run tests</p> |
|||
<h2 id="synopsis">SYNOPSIS</h2> |
|||
<pre><code>npm install-test (with no args, in package dir) |
|||
npm install-test [<@scope>/]<name> |
|||
npm install-test [<@scope>/]<name>@<tag> |
|||
npm install-test [<@scope>/]<name>@<version> |
|||
npm install-test [<@scope>/]<name>@<version range> |
|||
npm install-test <tarball file> |
|||
npm install-test <tarball url> |
|||
npm install-test <folder> |
|||
|
|||
alias: npm it |
|||
common options: [--save|--save-dev|--save-optional] [--save-exact] [--dry-run] |
|||
</code></pre><h2 id="description">DESCRIPTION</h2> |
|||
<p>This command runs an <code>npm install</code> followed immediately by an <code>npm test</code>. It |
|||
takes exactly the same arguments as <code>npm install</code>.</p> |
|||
<h2 id="see-also">SEE ALSO</h2> |
|||
<ul> |
|||
<li><a href="../cli/npm-install.html">npm-install(1)</a></li> |
|||
<li><a href="../cli/npm-test.html">npm-test(1)</a></li> |
|||
</ul> |
|||
|
|||
</div> |
|||
|
|||
<table border=0 cellspacing=0 cellpadding=0 id=npmlogo> |
|||
<tr><td style="width:180px;height:10px;background:rgb(237,127,127)" colspan=18> </td></tr> |
|||
<tr><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)"> </td><td style="width:40px;height:10px;background:#fff" colspan=4> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4> </td><td style="width:40px;height:10px;background:#fff" colspan=4> </td><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)"> </td><td colspan=6 style="width:60px;height:10px;background:#fff"> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4> </td></tr> |
|||
<tr><td colspan=2 style="width:20px;height:30px;background:#fff" rowspan=3> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:20px;height:10px;background:#fff" rowspan=4 colspan=2> </td><td style="width:10px;height:20px;background:rgb(237,127,127)" rowspan=2> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:20px;height:10px;background:#fff" rowspan=3 colspan=2> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td></tr> |
|||
<tr><td style="width:10px;height:10px;background:#fff" rowspan=2> </td></tr> |
|||
<tr><td style="width:10px;height:10px;background:#fff"> </td></tr> |
|||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr> |
|||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr> |
|||
</table> |
|||
<p id="footer">npm-install-test — npm@3.6.0</p> |
@ -1,312 +0,0 @@ |
|||
<!doctype html> |
|||
<html> |
|||
<title>npm-faq</title> |
|||
<meta http-equiv="content-type" value="text/html;utf-8"> |
|||
<link rel="stylesheet" type="text/css" href="../../static/style.css"> |
|||
<link rel="canonical" href="https://www.npmjs.org/doc/misc/npm-faq.html"> |
|||
<script async=true src="../../static/toc.js"></script> |
|||
|
|||
<body> |
|||
<div id="wrapper"> |
|||
|
|||
<h1><a href="../misc/npm-faq.html">npm-faq</a></h1> <p>Frequently Asked Questions</p> |
|||
<h2 id="where-can-i-find-these-docs-in-html-">Where can I find these docs in HTML?</h2> |
|||
<p><a href="https://docs.npmjs.com/">https://docs.npmjs.com/</a>, or run:</p> |
|||
<pre><code>npm config set viewer browser |
|||
</code></pre><p>This command will set the npm docs to open in your default web browser rather than <code>man</code>.</p> |
|||
<h2 id="it-didn-t-work-">It didn't work.</h2> |
|||
<p>Please provide a little more detail, search for the error via <a href="https://google.com">Google</a> or <a href="http://stackoverflow.com/search?q=npm">StackOverflow npm</a> to see if another developer has encountered a similar problem.</p> |
|||
<h2 id="why-didn-t-it-work-">Why didn't it work?</h2> |
|||
<p>I don't know yet.</p> |
|||
<p>Try reading the error output first, ensure this is a true npm issue and not a package issue. If you are having an issue with a package dependency, please submit your error to that particular package maintainer.</p> |
|||
<p>For any npm issues, try following the instructions, or even retracing your steps. If the issue continues to persist, submit a bug with the steps to reproduce, please include the operating system you are working on, along with the error you recieve.</p> |
|||
<h2 id="where-does-npm-put-stuff-">Where does npm put stuff?</h2> |
|||
<p>See <code><a href="../files/npm-folders.html">npm-folders(5)</a></code></p> |
|||
<p>tl;dr:</p> |
|||
<ul> |
|||
<li>Use the <code>npm root</code> command to see where modules go, and the <code>npm bin</code> |
|||
command to see where executables go</li> |
|||
<li>Global installs are different from local installs. If you install |
|||
something with the <code>-g</code> flag, then its executables go in <code>npm bin -g</code> |
|||
and its modules go in <code>npm root -g</code>.</li> |
|||
</ul> |
|||
<h2 id="how-do-i-install-something-on-my-computer-in-a-central-location-">How do I install something on my computer in a central location?</h2> |
|||
<p>Install it globally by tacking <code>-g</code> or <code>--global</code> to the command. (This |
|||
is especially important for command line utilities that need to add |
|||
their bins to the global system <code>PATH</code>.)</p> |
|||
<h2 id="i-installed-something-globally-but-i-can-t-require-it">I installed something globally, but I can't <code>require()</code> it</h2> |
|||
<p>Install it locally.</p> |
|||
<p>The global install location is a place for command-line utilities |
|||
to put their bins in the system <code>PATH</code>. It's not for use with <code>require()</code>.</p> |
|||
<p>If you <code>require()</code> a module in your code, then that means it's a |
|||
dependency, and a part of your program. You need to install it locally |
|||
in your program.</p> |
|||
<h2 id="why-can-t-npm-just-put-everything-in-one-place-like-other-package-managers-">Why can't npm just put everything in one place, like other package managers?</h2> |
|||
<p>Not every change is an improvement, but every improvement is a change. |
|||
This would be like asking git to do network IO for every commit. It's |
|||
not going to happen, because it's a terrible idea that causes more |
|||
problems than it solves.</p> |
|||
<p>It is much harder to avoid dependency conflicts without nesting |
|||
dependencies. This is fundamental to the way that npm works, and has |
|||
proven to be an extremely successful approach. See <code><a href="../files/npm-folders.html">npm-folders(5)</a></code> for |
|||
more details.</p> |
|||
<p>If you want a package to be installed in one place, and have all your |
|||
programs reference the same copy of it, then use the <code>npm link</code> command. |
|||
That's what it's for. Install it globally, then link it into each |
|||
program that uses it.</p> |
|||
<h2 id="whatever-i-really-want-the-old-style-everything-global-style-">Whatever, I really want the old style 'everything global' style.</h2> |
|||
<p>Write your own package manager. You could probably even wrap up <code>npm</code> |
|||
in a shell script if you really wanted to.</p> |
|||
<p>npm will not help you do something that is known to be a bad idea.</p> |
|||
<h2 id="should-i-check-my-node_modules-folder-into-git-">Should I check my <code>node_modules</code> folder into git?</h2> |
|||
<p>Usually, no. Allow npm to resolve dependencies for your packages.</p> |
|||
<p>For packages you <strong>deploy</strong>, such as websites and apps, |
|||
you should use npm shrinkwrap to lock down your full dependency tree:</p> |
|||
<p><a href="https://docs.npmjs.com/cli/shrinkwrap">https://docs.npmjs.com/cli/shrinkwrap</a></p> |
|||
<p>If you are paranoid about depending on the npm ecosystem, |
|||
you should run a private npm mirror or a private cache.</p> |
|||
<p>If you want 100% confidence in being able to reproduce the specific bytes |
|||
included in a deployment, you should use an additional mechanism that can |
|||
verify contents rather than versions. For example, |
|||
Amazon machine images, DigitalOcean snapshots, Heroku slugs, or simple tarballs.</p> |
|||
<h2 id="is-it-npm-or-npm-or-npm-">Is it 'npm' or 'NPM' or 'Npm'?</h2> |
|||
<p>npm should never be capitalized unless it is being displayed in a |
|||
location that is customarily all-caps (such as the title of man pages.)</p> |
|||
<h2 id="if-npm-is-an-acronym-why-is-it-never-capitalized-">If 'npm' is an acronym, why is it never capitalized?</h2> |
|||
<p>Contrary to the belief of many, "npm" is not in fact an abbreviation for |
|||
"Node Package Manager". It is a recursive bacronymic abbreviation for |
|||
"npm is not an acronym". (If it was "ninaa", then it would be an |
|||
acronym, and thus incorrectly named.)</p> |
|||
<p>"NPM", however, <em>is</em> an acronym (more precisely, a capitonym) for the |
|||
National Association of Pastoral Musicians. You can learn more |
|||
about them at <a href="http://npm.org/">http://npm.org/</a>.</p> |
|||
<p>In software, "NPM" is a Non-Parametric Mapping utility written by |
|||
Chris Rorden. You can analyze pictures of brains with it. Learn more |
|||
about the (capitalized) NPM program at <a href="http://www.cabiatl.com/mricro/npm/">http://www.cabiatl.com/mricro/npm/</a>.</p> |
|||
<p>The first seed that eventually grew into this flower was a bash utility |
|||
named "pm", which was a shortened descendent of "pkgmakeinst", a |
|||
bash function that was used to install various different things on different |
|||
platforms, most often using Yahoo's <code>yinst</code>. If <code>npm</code> was ever an |
|||
acronym for anything, it was <code>node pm</code> or maybe <code>new pm</code>.</p> |
|||
<p>So, in all seriousness, the "npm" project is named after its command-line |
|||
utility, which was organically selected to be easily typed by a right-handed |
|||
programmer using a US QWERTY keyboard layout, ending with the |
|||
right-ring-finger in a postition to type the <code>-</code> key for flags and |
|||
other command-line arguments. That command-line utility is always |
|||
lower-case, though it starts most sentences it is a part of.</p> |
|||
<h2 id="how-do-i-list-installed-packages-">How do I list installed packages?</h2> |
|||
<p><code>npm ls</code></p> |
|||
<h2 id="how-do-i-search-for-packages-">How do I search for packages?</h2> |
|||
<p><code>npm search</code></p> |
|||
<p>Arguments are greps. <code>npm search jsdom</code> shows jsdom packages.</p> |
|||
<h2 id="how-do-i-update-npm-">How do I update npm?</h2> |
|||
<pre><code>npm install npm -g |
|||
</code></pre><p>You can also update all outdated local packages by doing <code>npm update</code> without |
|||
any arguments, or global packages by doing <code>npm update -g</code>.</p> |
|||
<p>Occasionally, the version of npm will progress such that the current |
|||
version cannot be properly installed with the version that you have |
|||
installed already. (Consider, if there is ever a bug in the <code>update</code> |
|||
command.)</p> |
|||
<p>In those cases, you can do this:</p> |
|||
<pre><code>curl https://www.npmjs.com/install.sh | sh |
|||
</code></pre><h2 id="what-is-a-package-">What is a <code>package</code>?</h2> |
|||
<p>A package is:</p> |
|||
<ul> |
|||
<li>a) a folder containing a program described by a package.json file</li> |
|||
<li>b) a gzipped tarball containing (a)</li> |
|||
<li>c) a url that resolves to (b)</li> |
|||
<li>d) a <code><name>@<version></code> that is published on the registry with (c)</li> |
|||
<li>e) a <code><name>@<tag></code> that points to (d)</li> |
|||
<li>f) a <code><name></code> that has a "latest" tag satisfying (e)</li> |
|||
<li>g) a <code>git</code> url that, when cloned, results in (a).</li> |
|||
</ul> |
|||
<p>Even if you never publish your package, you can still get a lot of |
|||
benefits of using npm if you just want to write a node program (a), and |
|||
perhaps if you also want to be able to easily install it elsewhere |
|||
after packing it up into a tarball (b).</p> |
|||
<p>Git urls can be of the form:</p> |
|||
<pre><code>git://github.com/user/project.git#commit-ish |
|||
git+ssh://user@hostname:project.git#commit-ish |
|||
git+http://user@hostname/project/blah.git#commit-ish |
|||
git+https://user@hostname/project/blah.git#commit-ish |
|||
</code></pre><p>The <code>commit-ish</code> can be any tag, sha, or branch which can be supplied as |
|||
an argument to <code>git checkout</code>. The default is <code>master</code>.</p> |
|||
<h2 id="what-is-a-module-">What is a <code>module</code>?</h2> |
|||
<p>A module is anything that can be loaded with <code>require()</code> in a Node.js |
|||
program. The following things are all examples of things that can be |
|||
loaded as modules:</p> |
|||
<ul> |
|||
<li>A folder with a <code>package.json</code> file containing a <code>main</code> field.</li> |
|||
<li>A folder with an <code>index.js</code> file in it.</li> |
|||
<li>A JavaScript file.</li> |
|||
</ul> |
|||
<p>Most npm packages are modules, because they are libraries that you |
|||
load with <code>require</code>. However, there's no requirement that an npm |
|||
package be a module! Some only contain an executable command-line |
|||
interface, and don't provide a <code>main</code> field for use in Node programs.</p> |
|||
<p>Almost all npm packages (at least, those that are Node programs) |
|||
<em>contain</em> many modules within them (because every file they load with |
|||
<code>require()</code> is a module).</p> |
|||
<p>In the context of a Node program, the <code>module</code> is also the thing that |
|||
was loaded <em>from</em> a file. For example, in the following program:</p> |
|||
<pre><code>var req = require('request') |
|||
</code></pre><p>we might say that "The variable <code>req</code> refers to the <code>request</code> module".</p> |
|||
<h2 id="so-why-is-it-the-node_modules-folder-but-package-json-file-why-not-node_packages-or-module-json-">So, why is it the "<code>node_modules</code>" folder, but "<code>package.json</code>" file? Why not <code>node_packages</code> or <code>module.json</code>?</h2> |
|||
<p>The <code>package.json</code> file defines the package. (See "What is a |
|||
package?" above.)</p> |
|||
<p>The <code>node_modules</code> folder is the place Node.js looks for modules. |
|||
(See "What is a module?" above.)</p> |
|||
<p>For example, if you create a file at <code>node_modules/foo.js</code> and then |
|||
had a program that did <code>var f = require('foo.js')</code> then it would load |
|||
the module. However, <code>foo.js</code> is not a "package" in this case, |
|||
because it does not have a package.json.</p> |
|||
<p>Alternatively, if you create a package which does not have an |
|||
<code>index.js</code> or a <code>"main"</code> field in the <code>package.json</code> file, then it is |
|||
not a module. Even if it's installed in <code>node_modules</code>, it can't be |
|||
an argument to <code>require()</code>.</p> |
|||
<h2 id="-node_modules-is-the-name-of-my-deity-s-arch-rival-and-a-forbidden-word-in-my-religion-can-i-configure-npm-to-use-a-different-folder-"><code>"node_modules"</code> is the name of my deity's arch-rival, and a Forbidden Word in my religion. Can I configure npm to use a different folder?</h2> |
|||
<p>No. This will never happen. This question comes up sometimes, |
|||
because it seems silly from the outside that npm couldn't just be |
|||
configured to put stuff somewhere else, and then npm could load them |
|||
from there. It's an arbitrary spelling choice, right? What's the big |
|||
deal?</p> |
|||
<p>At the time of this writing, the string <code>'node_modules'</code> appears 151 |
|||
times in 53 separate files in npm and node core (excluding tests and |
|||
documentation).</p> |
|||
<p>Some of these references are in node's built-in module loader. Since |
|||
npm is not involved <strong>at all</strong> at run-time, node itself would have to |
|||
be configured to know where you've decided to stick stuff. Complexity |
|||
hurdle #1. Since the Node module system is locked, this cannot be |
|||
changed, and is enough to kill this request. But I'll continue, in |
|||
deference to your deity's delicate feelings regarding spelling.</p> |
|||
<p>Many of the others are in dependencies that npm uses, which are not |
|||
necessarily tightly coupled to npm (in the sense that they do not read |
|||
npm's configuration files, etc.) Each of these would have to be |
|||
configured to take the name of the <code>node_modules</code> folder as a |
|||
parameter. Complexity hurdle #2.</p> |
|||
<p>Furthermore, npm has the ability to "bundle" dependencies by adding |
|||
the dep names to the <code>"bundledDependencies"</code> list in package.json, |
|||
which causes the folder to be included in the package tarball. What |
|||
if the author of a module bundles its dependencies, and they use a |
|||
different spelling for <code>node_modules</code>? npm would have to rename the |
|||
folder at publish time, and then be smart enough to unpack it using |
|||
your locally configured name. Complexity hurdle #3.</p> |
|||
<p>Furthermore, what happens when you <em>change</em> this name? Fine, it's |
|||
easy enough the first time, just rename the <code>node_modules</code> folders to |
|||
<code>./blergyblerp/</code> or whatever name you choose. But what about when you |
|||
change it again? npm doesn't currently track any state about past |
|||
configuration settings, so this would be rather difficult to do |
|||
properly. It would have to track every previous value for this |
|||
config, and always accept any of them, or else yesterday's install may |
|||
be broken tomorrow. Complexity hurdle #4.</p> |
|||
<p>Never going to happen. The folder is named <code>node_modules</code>. It is |
|||
written indelibly in the Node Way, handed down from the ancient times |
|||
of Node 0.3.</p> |
|||
<h2 id="how-do-i-install-node-with-npm-">How do I install node with npm?</h2> |
|||
<p>You don't. Try one of these node version managers:</p> |
|||
<p>Unix:</p> |
|||
<ul> |
|||
<li><a href="http://github.com/isaacs/nave">http://github.com/isaacs/nave</a></li> |
|||
<li><a href="http://github.com/visionmedia/n">http://github.com/visionmedia/n</a></li> |
|||
<li><a href="http://github.com/creationix/nvm">http://github.com/creationix/nvm</a></li> |
|||
</ul> |
|||
<p>Windows:</p> |
|||
<ul> |
|||
<li><a href="http://github.com/marcelklehr/nodist">http://github.com/marcelklehr/nodist</a></li> |
|||
<li><a href="https://github.com/coreybutler/nvm-windows">https://github.com/coreybutler/nvm-windows</a></li> |
|||
<li><a href="https://github.com/hakobera/nvmw">https://github.com/hakobera/nvmw</a></li> |
|||
<li><a href="https://github.com/nanjingboy/nvmw">https://github.com/nanjingboy/nvmw</a></li> |
|||
</ul> |
|||
<h2 id="how-can-i-use-npm-for-development-">How can I use npm for development?</h2> |
|||
<p>See <code><a href="../misc/npm-developers.html">npm-developers(7)</a></code> and <code><a href="../files/package.json.html">package.json(5)</a></code>.</p> |
|||
<p>You'll most likely want to <code>npm link</code> your development folder. That's |
|||
awesomely handy.</p> |
|||
<p>To set up your own private registry, check out <code><a href="../misc/npm-registry.html">npm-registry(7)</a></code>.</p> |
|||
<h2 id="can-i-list-a-url-as-a-dependency-">Can I list a url as a dependency?</h2> |
|||
<p>Yes. It should be a url to a gzipped tarball containing a single folder |
|||
that has a package.json in its root, or a git url. |
|||
(See "what is a package?" above.)</p> |
|||
<h2 id="how-do-i-symlink-to-a-dev-folder-so-i-don-t-have-to-keep-re-installing-">How do I symlink to a dev folder so I don't have to keep re-installing?</h2> |
|||
<p>See <code><a href="../cli/npm-link.html">npm-link(1)</a></code></p> |
|||
<h2 id="the-package-registry-website-what-is-that-exactly-">The package registry website. What is that exactly?</h2> |
|||
<p>See <code><a href="../misc/npm-registry.html">npm-registry(7)</a></code>.</p> |
|||
<h2 id="i-forgot-my-password-and-can-t-publish-how-do-i-reset-it-">I forgot my password, and can't publish. How do I reset it?</h2> |
|||
<p>Go to <a href="https://npmjs.com/forgot">https://npmjs.com/forgot</a>.</p> |
|||
<h2 id="i-get-econnrefused-a-lot-what-s-up-">I get ECONNREFUSED a lot. What's up?</h2> |
|||
<p>Either the registry is down, or node's DNS isn't able to reach out.</p> |
|||
<p>To check if the registry is down, open up |
|||
<a href="https://registry.npmjs.org/">https://registry.npmjs.org/</a> in a web browser. This will also tell |
|||
you if you are just unable to access the internet for some reason.</p> |
|||
<p>If the registry IS down, let us know by emailing <a href="mailto:support@npmjs.com">support@npmjs.com</a> |
|||
or posting an issue at <a href="https://github.com/npm/npm/issues">https://github.com/npm/npm/issues</a>. If it's |
|||
down for the world (and not just on your local network) then we're |
|||
probably already being pinged about it.</p> |
|||
<p>You can also often get a faster response by visiting the #npm channel |
|||
on Freenode IRC.</p> |
|||
<h2 id="why-no-namespaces-">Why no namespaces?</h2> |
|||
<p>npm has only one global namespace. If you want to namespace your own packages, |
|||
you may: simply use the <code>-</code> character to separate the names or use scoped |
|||
packages. npm is a mostly anarchic system. There is not sufficient need to |
|||
impose namespace rules on everyone.</p> |
|||
<p>As of 2.0, npm supports scoped packages, which allow you to publish a group of |
|||
related modules without worrying about name collisions.</p> |
|||
<p>Every npm user owns the scope associated with their username. For example, the |
|||
user named <code>npm</code> owns the scope <code>@npm</code>. Scoped packages are published inside a |
|||
scope by naming them as if they were files under the scope directory, e.g., by |
|||
setting <code>name</code> in <code>package.json</code> to <code>@npm/npm</code>.</p> |
|||
<p>Scoped packages are supported by the public npm registry. The npm client is |
|||
backwards-compatible with un-scoped registries, so it can be used to work with |
|||
scoped and un-scoped registries at the same time.</p> |
|||
<p>Unscoped packages can only depend on other unscoped packages. Scoped packages |
|||
can depend on packages from their own scope, a different scope, or the public |
|||
registry (unscoped).</p> |
|||
<p>For the current documentation of scoped packages, see |
|||
<a href="https://docs.npmjs.com/misc/scope">https://docs.npmjs.com/misc/scope</a></p> |
|||
<p>References:</p> |
|||
<ol> |
|||
<li><p>For the reasoning behind the "one global namespace", please see this |
|||
discussion: <a href="https://github.com/npm/npm/issues/798">https://github.com/npm/npm/issues/798</a> (TL;DR: It doesn't |
|||
actually make things better, and can make them worse.)</p> |
|||
</li> |
|||
<li><p>For the pre-implementation discussion of the scoped package feature, see |
|||
this discussion: <a href="https://github.com/npm/npm/issues/5239">https://github.com/npm/npm/issues/5239</a></p> |
|||
</li> |
|||
</ol> |
|||
<h2 id="who-does-npm-">Who does npm?</h2> |
|||
<p>npm was originally written by Isaac Z. Schlueter, and many others have |
|||
contributed to it, some of them quite substantially.</p> |
|||
<p>The npm open source project, The npm Registry, and <a href="https://www.npmjs.com">the community |
|||
website</a> are maintained and operated by the |
|||
good folks at <a href="http://www.npmjs.com">npm, Inc.</a></p> |
|||
<h2 id="i-have-a-question-or-request-not-addressed-here-where-should-i-put-it-">I have a question or request not addressed here. Where should I put it?</h2> |
|||
<p>Post an issue on the github project:</p> |
|||
<ul> |
|||
<li><a href="https://github.com/npm/npm/issues">https://github.com/npm/npm/issues</a></li> |
|||
</ul> |
|||
<h2 id="why-does-npm-hate-me-">Why does npm hate me?</h2> |
|||
<p>npm is not capable of hatred. It loves everyone, especially you.</p> |
|||
<h2 id="see-also">SEE ALSO</h2> |
|||
<ul> |
|||
<li><a href="../cli/npm.html">npm(1)</a></li> |
|||
<li><a href="../misc/npm-developers.html">npm-developers(7)</a></li> |
|||
<li><a href="../files/package.json.html">package.json(5)</a></li> |
|||
<li><a href="../cli/npm-config.html">npm-config(1)</a></li> |
|||
<li><a href="../misc/npm-config.html">npm-config(7)</a></li> |
|||
<li><a href="../files/npmrc.html">npmrc(5)</a></li> |
|||
<li><a href="../misc/npm-config.html">npm-config(7)</a></li> |
|||
<li><a href="../files/npm-folders.html">npm-folders(5)</a></li> |
|||
</ul> |
|||
|
|||
</div> |
|||
|
|||
<table border=0 cellspacing=0 cellpadding=0 id=npmlogo> |
|||
<tr><td style="width:180px;height:10px;background:rgb(237,127,127)" colspan=18> </td></tr> |
|||
<tr><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)"> </td><td style="width:40px;height:10px;background:#fff" colspan=4> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4> </td><td style="width:40px;height:10px;background:#fff" colspan=4> </td><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)"> </td><td colspan=6 style="width:60px;height:10px;background:#fff"> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4> </td></tr> |
|||
<tr><td colspan=2 style="width:20px;height:30px;background:#fff" rowspan=3> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:20px;height:10px;background:#fff" rowspan=4 colspan=2> </td><td style="width:10px;height:20px;background:rgb(237,127,127)" rowspan=2> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:20px;height:10px;background:#fff" rowspan=3 colspan=2> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td></tr> |
|||
<tr><td style="width:10px;height:10px;background:#fff" rowspan=2> </td></tr> |
|||
<tr><td style="width:10px;height:10px;background:#fff"> </td></tr> |
|||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr> |
|||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr> |
|||
</table> |
|||
<p id="footer">npm-faq — npm@3.3.12</p> |
|||
|
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue