Node.js ECONNREFUSED when trying to install packages - node.js

I'm working the learnyounode tutorial to learn node.js. I'm getting an error any time I try install a package.
npm ERR! Linux 4.2.0-c9
npm ERR! argv "/home/ubuntu/.nvm/versions/node/v4.1.1/bin/node" "/home/ubuntu/.nvm/versions/node/v4.1.1/bin/npm" "install" "through2-map" "--save"
npm ERR! node v4.1.1
npm ERR! npm v3.7.5
npm ERR! code ECONNREFUSED
npm ERR! errno ECONNREFUSED
npm ERR! syscall connect
npm ERR! Error: connect ECONNREFUSED 127.0.0.1:15443
npm ERR! at Object.exports._errnoException (util.js:837:11)
npm ERR! at exports._exceptionWithHostPort (util.js:860:20)
npm ERR! at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1060:14)
npm ERR! { [Error: connect ECONNREFUSED 127.0.0.1:15443]
npm ERR! code: 'ECONNREFUSED',
npm ERR! errno: 'ECONNREFUSED',
npm ERR! syscall: 'connect',
npm ERR! address: '127.0.0.1',
npm ERR! port: 15443 }
npm ERR!
npm ERR! If you are behind a proxy, please make sure that the
npm ERR! 'proxy' config is set properly. See: 'npm help config'
npm ERR! Please include the following file with any support request:
npm ERR! /home/ubuntu/workspace/npm-debug.log
I also did npm config ls to see if there was anything out of the ordinary with my configuration but really I don't know what I'm looking for. Can someone help me figure out how to fix this error so that I can install packages.
; cli configs
user-agent = "npm/3.7.5 node/v4.1.1 linux x64"
; userconfig /home/ubuntu/.config/how-to-npm/npmrc
//localhost:15443/:always-auth = false
//localhost:15443/:email = "rawledjuglal#gmail.com"
//localhost:15443/:username = "rawlejuglal"
; node bin location = /home/ubuntu/.nvm/versions/node/v4.1.1/bin/node
; cwd = /home/ubuntu/workspace
; HOME = /home/ubuntu
; "npm config ls -l" to show all defaults.

Set your NPM registry back to registry.npmjs.org:
npm set registry https://registry.npmjs.org

your npmrc file is trying to send you to a registry host on localhost:15443, delete those three lines with // from your npmrc file and try npm installing again. This should send you to the npm registry, where that package exists.

I also fetch is problem. I hope following information may help someone else like me.
For me, the reason was .npmrc where registry was set to http://localhost:15443/
.npmrc is one of sources from where npm gets its config settings. You will get more information about .npmrc file from
here
How I troubleshoot
I have used command npm config ls -l that show npm configuration list where I found that registry https://registry.npmjs.org/ is overridden.
Part of my configuration
; project config /home/sumon/projects/codecamp-node/.npmrc
registry = "http://localhost:15443/"
userconfig = "/home/sumon/.config/how-to-npm/npmrc"
; userconfig /home/sumon/.config/how-to-npm/npmrc
//localhost:15443/:always-auth = false
//localhost:15443/:email = "hasanuzzaman.sumon#gmail.com"
//localhost:15443/:username = "engr.hasanuzzaman"
; registry = "https://registry.npmjs.org/" (overridden)
From above you will see that project config indicating a .npmrc that is on my project's root folder.
In unix system file that start with . are hidden file. To see hidden file on unix you can use ctl+h of ls -a from terminal.
How to solve this problem
Remove registry = http://localhost:15443/ from .npmrc file if you don't need this
set registry option like following
npm install your_package --registry=https://registry.npmjs.org

It seems require init once again:
Go to package directory (where package.json is located)
Run: npm init
Answer all questions in command line
Go to browser and go 127.0.0.1:15443
As successful result should get: { error: "missing" }

Related

NPM won't install pug?

Can anyone help me decipher what this message is about?
I have another app with pug installed, yet now I cannot create a new module installation for some reason.
I'm installing pug local to the app into node_modules
I'm just trying to get work done, so if I have missed something simple, my stress level has not been helpful with keeping precise vision.
My system is for ongoing development so I don't muck around with upgrades, which historically has broken all kinds of other stuff.
My other app works fine.
# npm install --save pug#2.0.0-beta4 <= Because the working app uses this one
npm ERR! Linux 3.2.0-35-generic-pae
npm ERR! argv "/home/kingram/.nvm/v0.10.46/bin/node" "/home/kingram/.nvm/v0.10.46/bin/npm" "install" "--save" "pug#2.0.0-beta4"
npm ERR! node v0.10.46
npm ERR! npm v2.15.1
npm ERR! path /home/kingram/.npm/wordwrap/0.0.2
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! Error: EACCES, mkdir '/home/kingram/.npm/wordwrap/0.0.2'
npm ERR! { [Error: EACCES, mkdir '/home/kingram/.npm/wordwrap/0.0.2']
npm ERR! errno: 3,
npm ERR! code: 'EACCES',
npm ERR! path: '/home/kingram/.npm/wordwrap/0.0.2',
npm ERR! parent: 'cliui' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Please include the following file with any support request:
npm ERR! /home/kingram/node/fssreg/npm-debug.log
You may need to install using sudo, ie - sudo npm install .... This will prompt you for your root password.
It looks like root privileges are required to install the package you're looking for. Though this shouldn't really be the case, you can fix this....check out this link
After some prodding by #zillaofthegods, it turns out some of directories in ~/.npm were owned by root. In particular the wordwrap module directory.
Changed the permissions and npm installed it fine.
One of those things I would not have caught without some prodding, so thanks.

nodejs or meteor- how get it working on OVH Cloud VPS

I got problem using OVH CLOUD VPS and NodeJS / MeteorJS.
When trying to do meteor update I receive:
Unable to update package catalog (are you offline?)
If you are using Meteor behind a proxy, set HTTP_PROXY and HTTPS_PROXY environment variables or see this page for more details: https://github.com/meteor/meteor/wiki/Using-Meteor-behind-a-proxy
When trying do any npm install package I get:
npm ERR! Error: connect ECONNREFUSED
npm ERR! at errnoException (net.js:904:11)
npm ERR! at Object.afterConnect [as oncomplete] (net.js:895:19)
npm ERR! { [Error: connect ECONNREFUSED]
npm ERR! code: 'ECONNREFUSED',
npm ERR! errno: 'ECONNREFUSED',
npm ERR! syscall: 'connect' }
npm ERR!
npm ERR! If you are behind a proxy, please make sure that the
npm ERR! 'proxy' config is set properly. See: 'npm help config'
I have been googling for some time and all sollutions with making npm set registry or adding / deleting npm config (set / delete) proxy doesnt bring sollution.
Have any of you solved how to use NPM / METEOR on OVH VPS ?
similar question here:
npm not working - "read ECONNRESET"
answer I believe is:
npm config set registry http://registry.npmjs.org/
or https

npm not installing packages even after proxy is set

I am trying to set up a node js based application in one of our lab servers where connectivity to internet is achieved via a proxy. The box is running Ubuntu 13.10. I have configured the network proxy and I am able to connect to internet through Firefox. For apt-get, I have configured the proxy in /etc/apt/apt.conf. This is also working.
After installing node js, when I try to do npm install -g <package> it's giving me errors. I have configured the proxy for npm too. My .npmrc looks like this: (my proxy does not require userid/password).
registry = http://registry.npmjs.org/
proxy = http://<domain>:8080/
https-proxy = http://<domain>:8080
I have tried various options found in forums, but none seems to work for me. (Like setting strict-ssl to false, using --without-ssl --insecure option etc.)
This is the error I am getting currently:
npm http GET http://registry.npmjs.org/express
npm http GET http://registry.npmjs.org/express
npm http GET http://registry.npmjs.org/express
npm ERR! Error: connect ECONNREFUSED
npm ERR! at errnoException (net.js:904:11)
npm ERR! at Object.afterConnect [as oncomplete] (net.js:895:19)
npm ERR! { [Error: connect ECONNREFUSED]
npm ERR! code: 'ECONNREFUSED',
npm ERR! errno: 'ECONNREFUSED',
npm ERR! syscall: 'connect' }
npm ERR!
npm ERR! If you are behind a proxy, please make sure that the
npm ERR! 'proxy' config is set properly. See: 'npm help config'
npm ERR! System Linux 3.11.0-12-generic
npm ERR! command "/home/<user>/apps/node-v0.10.26-linux-x86/bin/node" "/home/<user>/apps/node-v0.10.26-linux-x86/bin/npm" "install" "-g" "express"
npm ERR! cwd /home/<user>
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.3
npm ERR! syscall connect
npm ERR! code ECONNREFUSED
npm ERR! errno ECONNREFUSED
npm ERR! stack Error: connect ECONNREFUSED
npm ERR! stack at errnoException (net.js:904:11)
npm ERR! stack at Object.afterConnect [as oncomplete] (net.js:895:19)
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/<user>/npm-debug.log
npm ERR! not ok code 0
Any idea, what's going wrong here? I'm stuck with this darn thing for the day ;-(
Thanks!
I haven't been able to get a resolution for this issue, but found a work around - I bundled the packages I require on my laptop and then resorted to offline installation on the lab box. Here is how to do that:
Take for example, mongodb node module. I have it installed on my laptop where I do the development. If you open the package.json file for mongodb module, the dependencies are listed with corresponding version numbers. Mine looks like this:
"dependencies": {
"bson": "0.2.5",
"kerberos": "0.0.3"
},
Update the package.json file to include "bundledDependencies". (the position shouldn't really matter, just that it should be at the same level, as a sibling of "dependencies" in the JSON tree). This is what you need to add:
"bundledDependencies": [
"bson",
"kerberos"
],
Now, while you are within your package's directory (where the package.json file is present), run the command npm pack. That will create a tgz file for you. In my case it created mongodb-1.3.23.tgz. Just copy this file to the box where you want to install it and run npm install ./mongodb-1.3.23.tgz. That should get you through. Since all dependencies are now bundled within this .tgz file, npm won't try to connect to internet for installing any of them.
However, I would still like to know what's going wrong with my internet based installation. That's still a mystery!

npm install throwing errors Error: Invalid protocol

Hi I am new to Node JS and i am trying to follow the sample in the book and when trying to do npm install i get the following error:
Any help will be highly appreciated
C:\Developer\NODE_JS>npm install
npm WARN package.json chatrooms#0.0.1 No repository field.
npm WARN package.json chatrooms#0.0.1 No README data
npm http GET http://registry.npmjs.org/socket.io
npm http GET http://registry.npmjs.org/mime
npm http GET http://registry.npmjs.org/socket.io
npm http GET http://registry.npmjs.org/mime
npm http GET http://registry.npmjs.org/socket.io
npm http GET http://registry.npmjs.org/mime
npm ERR! Error: Invalid protocol
npm ERR! at Request.init (C:\Program Files\nodejs\node_modules\npm\node_modules\request\request.js:335:51)
npm ERR! at new Request (C:\Program Files\nodejs\node_modules\npm\node_modules\request\request.js:99:8)
npm ERR! at request (C:\Program Files\nodejs\node_modules\npm\node_modules\request\index.js:55:11)
npm ERR! at RegClient.makeRequest (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-registry-client\lib\request.js:211:13)
npm ERR! at RegClient.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-registry-client\lib\request.js:117:17)
npm ERR! at null._onTimeout (C:\Program Files\nodejs\node_modules\npm\node_modules\retry\lib\retry_operation.js:32:10)
npm ERR! at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! cwd C:\Developer\NODE_JS
npm ERR! node -v v0.10.24
npm ERR! npm -v 1.3.21
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! C:\Developer\NODE_JS\npm-debug.log
npm ERR! not ok code 0
My Node js config is
C:\Developer\NODE_JS>npm config list
; cli configs
registry = "http://registry.npmjs.org/"
; userconfig C:\Users\<uname>\.npmrc
https-proxy = "proxy.<comp>.com:8080"
proxy = "proxy.<comp>.com:8080"
registry = "http://registry.npmjs.org/"
; builtin config undefined
prefix = "C:\\Users\\puppalap\\AppData\\Roaming\\npm"
; node bin location = C:\Program Files\nodejs\\node.exe
; cwd = C:\Developer\NODE_JS
; HOME = C:\Users\<uname>
; 'npm config ls -l' to show all defaults.
The issue got resolved after i set the following two properties:
npm config set proxy http://usr:pwd#host:port
npm config set https-proxy http://usr:pwd#host:port
Issue is due to windows http_proxy environment variable being set; while I don't use a proxy.
Following command in command prompt will display, if http_proxy is set;
set http
If set removed the variable with below command and problem solved.
set http_proxy=
Above command will remove the http_proxy from the current
command line. However, if you need to permanently remove it, just
remove it from System Properties>Advanced Tab>Environment Variables
dialog box.
Just want to share a method,the way i followed to get it resolved,
My error: was ERR! Error: Invalid protocol : myusername:
[username of the previous proxy]
where my .npmrc file
contains registry="http://registry.npmjs.org/"
and other variables[prefix,cwd,home]
As i am not behind the proxy, removed proxy variables
still got the same error
when looked into
request.js[/usr/lib/node_modules/npm/node_modules/request/request.js]
file it is using the old proxy values
Hence , i added the line in init() of request.js
self.proxy="http://registry.npmjs.org/" //at the start of method
then it started working!!!
PS: Once after install command,Removed this line and it continued to work.
Try this , if no other options are working
If you're on a Linux box make sure you set the following variables:
export http_proxy="http://yourCompanyProxy:portNumber"
export https_proxy="http://yourCompanyProxy:portNumber"
export HTTP_PROXY="http://yourCompanyProxy:portNumber"
export HTTPS_PROXY="http://yourCompanyProxy:portNumber"

npm install not working

I just started learning node.js and i have installed node.js along with npm module manager.
I have created a package.json file and from the root directory iam trying to execute npm install command, instead of creating npm_modules folder it throws error like this:
C:\Users\username\Desktop\nodetest>npm install
npm WARN package.json backbone-library#0.0.1 No README.md file found!
npm http GET https://registry.npmjs.org/mongoose
npm http GET https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/path
npm http GET https://registry.npmjs.org/path
npm http GET https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/mongoose
npm http GET https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/path
npm http GET https://registry.npmjs.org/mongoose
npm ERR! Error: connect ETIMEDOUT
npm ERR! at errnoException (net.js:863:11)
npm ERR! at Object.afterConnect [as oncomplete] (net.js:854:19)
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! <npm-#googlegroups.com>
npm ERR! System Windows_NT 6.1.7600
npm ERR! command "D:\\Program Files\\nodejs\\\\node.exe" "D:\\Program Files\\no
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! cwd C:\Users\username\Desktop\nodetest
npm ERR! node -v v0.10.0
npm ERR! npm -v 1.2.14
npm ERR! syscall connect
npm ERR! code ETIMEDOUT
npm ERR! errno ETIMEDOUT
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! C:\Users\username\Desktop\nodetest\npm-debug.log
npm ERR! not ok code 0
Iam using Windows 7 OS.
Any ideas ?
Thanks,
Srinivas
This will probably solve your problem:
npm config set proxy proxy-url:port (http:\\proxy-name:port)
npm config set https-proxy proxy-url:port
It was a stuck step on my side,
the following syntax worked for me:
npm config set proxy http:/myproxyserver:port
best regards :)
You may need to use the windows "run as" command (which is equivalent to the *nix "sudo" command) in order to have the correct privileges on your machine.
This link should be helpful: https://superuser.com/questions/42537/is-there-any-sudo-command-for-windows
finally i came to know that my company laptop has proxy restrictions.Once i got the approval for proxy removal it worked.
But still ppl, who ever facing proxy issue in npm install,can try the following method.
Go to C:\Users\YourUserName
Create a file named .npmrc (no need of any prefixname just .npmrc)
Inside that file type the following
proxy = username:password#ip:port (add http:// before username)
That's all.It is perfectly working for me....
The traceroute command will usually tell you where a connection fails and would have lead you straight to the corporate proxy in this case.
Adding to the selected answer
a) "npm config set proxy proxy-url:port (http:\proxy-name:port)
b) npm config set https-proxy proxy-url:port"
make sure you add "http:\\" to your proxy name, and packages downloaded from npm use ssl so try the second option for sure.
If you are working behind a proxy, configure it:
npm config set proxy http://login:pass#host:port
Check the value of your proxy configuration:
npm config get http-proxy
Try again to get your package...

Resources