-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
doc(wiki): Make changes discussed in #2416
- Loading branch information
Showing
1 changed file
with
24 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,46 +1,53 @@ | ||
`npm` bundles its own, internal, copy of `node-gyp`. This internal copy is independent of any globally installed copy of node-gyp that you may have installed via `npm install -g node-gyp`. | ||
`npm` bundles its own, internal, copy of `node-gyp`. This internal copy is independent of any globally installed copy of node-gyp that | ||
you may have installed via `npm install -g node-gyp`. | ||
|
||
This means that while `node-gyp` doesn't get installed into your `$PATH` by default, npm still keeps its own copy to invoke when you attempt to `npm install` a native addon. | ||
This means that while `node-gyp` doesn't get installed into your `$PATH` by default, npm still keeps its own copy to invoke when you | ||
attempt to `npm install` a native add-on. | ||
|
||
Sometimes, you may need to update npm's internal node-gyp to a newer version than what is installed. A simple `npm install -g node-gyp` _won't_ do the trick since npm will still continue to use its internal copy over the global one. | ||
Sometimes, you may need to update npm's internal node-gyp to a newer version than what is installed. A simple `npm install -g node-gyp` | ||
_won't_ do the trick since npm will still continue to use its internal copy over the global one. | ||
|
||
So instead: | ||
|
||
## Linux, Mac OS X, Solaris, etc. | ||
|
||
Unix is easy. Just run the following command. Use `sudo` if necessary. | ||
|
||
``` bash | ||
$ [sudo] npm explore npm -g -- npm install node-gyp@latest | ||
```bash | ||
$ [sudo] npm explore npm/node_modules/npm-lifecycle -g -- npm install node-gyp@latest | ||
``` | ||
|
||
## Windows | ||
|
||
Windows is a bit tricker, since `npm` gets installed to the "Program Files" directory, which needs admin privileges in order to modify on current Windows. Therefore, run the following commands __inside a `cmd.exe` started with "Run as Administrator"__: | ||
Windows is a bit trickier, since `npm` might be installed to the "Program Files" directory, which needs admin privileges in order to | ||
modify on current Windows. Therefore, run the following commands __inside a `cmd.exe` started with "Run as Administrator"__: | ||
|
||
First we need to find the location of `node`. If you don't already know the location that `node.exe` got installed to, then run: | ||
|
||
``` bash | ||
```bash | ||
$ npm install -g which | ||
$ which node | ||
``` | ||
|
||
As an alternative to the above, those on Windows Server 2003 and later (this includes Windows 7) can run: | ||
|
||
``` bash | ||
```bash | ||
$ where node | ||
``` | ||
|
||
Now `cd` to the directory that `node.exe` is contained in, and with `node_modules\npm` at the end. i.e.: | ||
|
||
``` bash | ||
```bash | ||
$ cd "C:\Program Files\nodejs\node_modules\npm" | ||
``` | ||
|
||
Now you can finally run: | ||
Now you can run: | ||
```bash | ||
$ npm install node-gyp@latest | ||
``` | ||
|
||
``` bash | ||
$ npm install -g node-gyp@latest | ||
Now `cd` to the `npm-lifecycle` directory: | ||
```bash | ||
$ cd node_modules\npm-lifecycle | ||
``` | ||
|
||
note: i found that the -g on windows 7 is not correct. It gets installed in C:\Users\<name>\AppData\Roaming\npm\node_modules\gyp which is not the directory where node is installed C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\... | ||
Now you can finally run (again): | ||
```bash | ||
$ npm install node-gyp@latest | ||
``` |