It appears that this simple app can\'t find the \'connect\'
module after I just installed it in the file directory.
var connect = require (\'connec
Connect is an extensible HTTP server framework that Express uses. In particular Express uses it provide support for sessions and cookie handling. The source code is available on github at https://github.com/senchalabs/connect.
Generally when a node application 'can't find' something the first thing to try is to go to https://npmjs.org/package/npm-search and search for what can't be found. It would be hard to get along in the node eco-system without using npm.
In this case npmsearch will find connect and if you go to https://npmjs.org/package/connect you'll find the installation instructions for the connect module.
In this case :
npm install connect
npm -g install connect
installs the connect module for every user.
You may need to be root or use sudo to do this on most unix distributions.
Alternatively you can add the connect dependency to your project's package.json file - mine looks like this:
"express": "3.x" ,
"connect": "2.x"
I also had to use npm to install the modules buffer-crc32, methods, debug, fresh, range-parser, cookie-signature and cookie to get a working express project.
Happy node hacking :)
you can use the following command, this might happen if you forget to install the connect serve-static module or installed it incorrectly.
$ npm install connect serve-static
The connect module either is not installed or installed partially so install it firstly and later on try to start the server again
npm install connect
because you didn't install it. you have express
installed, not connect
.
I had the same problem. Node installed into the directory C:\Program Files (x86)\nodejs
. Initially I was trying to install and run javascript files from this directory, which caused numerous permissions problems.
If you've put your server in that directory, try moving it to another directory (perhaps in Documents
), navigate there in your Node command prompt, and try running again.
That worked out-of-the-box for me.
(Win7) I have a Command window open as an administrator I made a directory under C:\Program Files (x86)\NodeJS I navigated the Command window via cd C:\Program Files (x86)\NodeJS
I ran commands npm install connect
response: [redacted]>npm -g install connect npm ERR! Windows_NT 6.1.7601 npm ERR! argv " [redacted]\node_modules\npm\bin\npm-cli.js" "-g" "install" "connect" npm ERR! node v0.12.7 npm ERR! npm v2.11.3 npm ERR! code ETIMEDOUT npm ERR! errno ETIMEDOUT npm ERR! syscall connect
npm ERR! network connect ETIMEDOUT
npm ERR! network This is most likely not a problem with npm itself
npm ERR! network and is related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly. See: 'npm help config'
npm ERR! Please include the following file with any support request:
npm ERR! [redacted]\npm-debug.log
I ran npm config edit I changed the attribute lines to eliminate the semi-colon at the start of each of those lines.
Again, I ran npm -g install connect
same result. The log file has this:
0 info it worked if it ends with ok
1 verbose cli [ ' [redacted]\\\\node.exe',
1 verbose cli ' [redacted]\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli '-g',
1 verbose cli 'install',
1 verbose cli 'connect' ]
2 info using npm@2.11.3
3 info using node@v0.12.7
4 verbose install initial load of [redacted]\package.json
5 verbose readDependencies loading dependencies from [redacted]\package.json
6 silly cache add args [ 'connect', null ]
7 verbose cache add spec connect
8 silly cache add parsed spec { raw: 'connect',
8 silly cache add scope: null,
8 silly cache add name: 'connect',
8 silly cache add rawSpec: '',
8 silly cache add spec: '*',
8 silly cache add type: 'range' }
9 silly addNamed connect@*
10 verbose addNamed "*" is a valid semver range for connect
11 silly addNameRange { name: 'connect', range: '*', hasData: false }
12 silly mapToRegistry name connect
13 silly mapToRegistry using default registry
14 silly mapToRegistry registry ht tps://registry.npmjs.org/
15 silly mapToRegistry uri ht tps://registry.npmjs.org/connect
16 verbose addNameRange registry:ht tps://registry.npmjs.org/connect not in flight; fetching
17 verbose request uri https://registry.npmjs.org/connect
18 verbose request no auth needed
19 info attempt registry request try #1 at 12:36:52 PM
20 verbose request id 3524fc7ca91c73dc
21 http request GET https://registry.npmjs.org/connect
22 info retry will retry, error on last attempt: Error: connect ETIMEDOUT
23 info attempt registry request try #2 at 12:37:26 PM
24 http request GET https://registry.npmjs.org/connect
25 info retry will retry, error on last attempt: Error: connect ETIMEDOUT
26 info attempt registry request try #3 at 12:38:50 PM
27 http request GET https://registry.npmjs.org/connect
28 verbose stack Error: connect ETIMEDOUT
28 verbose stack at exports._errnoException (util.js:746:11)
28 verbose stack at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19)
29 verbose cwd [redacted]
30 error Windows_NT 6.1.7601
31 error argv "[redacted]\\node_modules\\npm\\bin\\npm-cli.js" "-g" "install" "connect"
32 error node v0.12.7
33 error npm v2.11.3
34 error code ETIMEDOUT
35 error errno ETIMEDOUT
36 error syscall connect
37 error network connect ETIMEDOUT
37 error network This is most likely not a problem with npm itself
37 error network and is related to network connectivity.
37 error network In most cases you are behind a proxy or have bad network settings.
37 error network
37 error network If you are behind a proxy, please make sure that the
37 error network 'proxy' config is set properly. See: 'npm help config'
38 verbose exit [ 1, true ]
I guess I will just use IIS Express. This hundreds of files to do something simple is just beyond me.