I'm new to Node.js, and I'm going through a few tutorials. For some reason, I can't install any new node modules.
I am using: Mac OSX 10.7.4, Node v. 0.8.6, NPM v. 1.1.48.
I run npm install X and I always get a
npm ERR! fetch failed https://registry.npmjs.org/-/X npm ERR! Error: 404 Not Found
When I actually go to the npmjs registry, I can see the project page, but no matter which tarball link I hit, it's always the same:
{ "error": "not_found", "reason": "document not found" }
For example, I tried installing fs by running npm install fs and I get:
npm http GET https://registry.npmjs.org/fs npm http 200 https://registry.npmjs.org/fs npm http GET https://registry.npmjs.org/-/fs-0.0.0.tgz npm http 404 https://registry.npmjs.org/-/fs-0.0.0.tgz npm ERR! fetch failed https://registry.npmjs.org/-/fs-0.0.0.tgz npm ERR! Error: 404 Not Found npm ERR! at null.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/fetch.js:47:16) npm ERR! at EventEmitter.emit (events.js:115:20) npm ERR! at WriteStream.flush (fs.js:1514:12) npm ERR! at fs.close (/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:92:5) npm ERR! at Object.oncomplete (fs.js:297:15) npm ERR! If you need help, you may report this log at: npm ERR! <http://github.com/isaacs/npm/issues> npm ERR! or email it to: npm ERR! <[email protected]> npm ERR! System Darwin 11.4.0 npm ERR! command "node" "/usr/local/bin/npm" "install" "fs" npm ERR! cwd /Users/comocomo/Documents/workspace/nodeTest npm ERR! node -v v0.8.6 npm ERR! npm -v 1.1.48 npm ERR! npm ERR! Additional logging details can be found in: npm ERR! /Users/comocomo/Documents/workspace/nodeTest/npm-debug.log npm ERR! not ok code 0
I tried fs, fs-extra, express, and formidable, all giving me the same 404 response. There must be something wrong on my part, I'm pretty sure the whole registry is not broken.
Am I using an old registry? Should I change it in my config file? I honestly would rather not start installing things manually, and I'm sure it's just a small configuration issue.
Thanks!
If your npm is broken: On Mac or Linux, reinstall npm. Windows: If you're on Windows and you have a broken installation, the easiest thing to do is to reinstall node from the official installer (see this note about installing the latest stable version).
The -f or --force argument will force npm to fetch remote resources even if a local copy exists on disk. The -g or --global argument will cause npm to install the package globally rather than locally.
By default, npm install will install all modules listed as dependencies in package. json .
I found the there is a certificate expired issue with:
npm set registry https://registry.npmjs.org/
So I made it http, not https :-
npm set registry http://registry.npmjs.org/
And have no problems so far.
The repository is not down, it looks like they've changed how they host files (I guess they have restored some old code):
Now you have to add the /package-name/ before the -
Eg:
http://registry.npmjs.org/-/npm-1.1.48.tgz http://registry.npmjs.org/npm/-/npm-1.1.48.tgz
There are 3 ways to solve it:
Use a public proxy:
--registry http://165.225.128.50:8000
Host a local proxy:
https://github.com/hughsk/npm-quickfix
git clone https://github.com/hughsk/npm-quickfix.git cd npm-quickfix npm set registry http://localhost:8080/ node index.js
I'd personally go with number 3 and revert to npm set registry http://registry.npmjs.org/
as soon as this get resolved.
Stay tuned here for more info: https://github.com/isaacs/npm/issues/2694
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With