Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't install any packages in Node.js using "npm install"

Tags:

node.js

npm

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!

like image 660
Ido Cohn Avatar asked Aug 12 '12 07:08

Ido Cohn


People also ask

Why is my npm install not working?

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

How do I force an NPM package to install?

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.

Does npm install install all packages?

By default, npm install will install all modules listed as dependencies in package. json .


2 Answers

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.

like image 112
Ian S Williams Avatar answered Oct 04 '22 03:10

Ian S Williams


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 complete mirror:
  • 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

like image 25
framp Avatar answered Oct 04 '22 02:10

framp