Dmi*_*try 128 node.js npm express
我写了我的第一个node.js应用程序,但它找不到快递库:
C:\ChatServer\Server>node server.js
module.js:340
throw err;
^
Error: Cannot find module 'express'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (C:\ChatServer\Server\server.js:6:9)
at Object.<anonymous> (C:\ChatServer\Server\server.js:25:4)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
Run Code Online (Sandbox Code Playgroud)
但快递被挂了(带-g钥匙):
C:\ChatServer\Server>npm install -g express
npm http GET https://registry.npmjs.org/express
npm http 304 https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/connect/2.7.11
npm http GET https://registry.npmjs.org/commander/0.6.1
npm http GET https://registry.npmjs.org/range-parser/0.0.4
npm http GET https://registry.npmjs.org/mkdirp/0.3.4
npm http GET https://registry.npmjs.org/cookie/0.1.0
npm http GET https://registry.npmjs.org/buffer-crc32/0.2.1
npm http GET https://registry.npmjs.org/fresh/0.1.0
npm http GET https://registry.npmjs.org/methods/0.0.1
npm http GET https://registry.npmjs.org/send/0.1.0
npm http GET https://registry.npmjs.org/cookie-signature/1.0.1
npm http GET https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/mkdirp/0.3.4
npm http 304 https://registry.npmjs.org/range-parser/0.0.4
npm http 304 https://registry.npmjs.org/cookie/0.1.0
npm http 304 https://registry.npmjs.org/connect/2.7.11
npm http 304 https://registry.npmjs.org/commander/0.6.1
npm WARN package.json range-parser@0.0.4 No repository field.
npm http 304 https://registry.npmjs.org/buffer-crc32/0.2.1
npm http 304 https://registry.npmjs.org/fresh/0.1.0
npm http 304 https://registry.npmjs.org/methods/0.0.1
npm http 304 https://registry.npmjs.org/send/0.1.0
npm http 304 https://registry.npmjs.org/cookie-signature/1.0.1
npm WARN package.json methods@0.0.1 No repository field.
npm WARN package.json methods@0.0.1 No readme data.
npm WARN package.json fresh@0.1.0 No repository field.
npm WARN package.json send@0.1.0 No repository field.
npm WARN package.json cookie-signature@1.0.1 No repository field.
npm http 304 https://registry.npmjs.org/debug
npm http GET https://registry.npmjs.org/mime/1.2.6
npm http GET https://registry.npmjs.org/qs/0.6.5
npm http GET https://registry.npmjs.org/send/0.1.1
npm http GET https://registry.npmjs.org/formidable/1.0.14
npm http GET https://registry.npmjs.org/cookie/0.0.5
npm http GET https://registry.npmjs.org/bytes/0.2.0
npm http GET https://registry.npmjs.org/pause/0.0.1
npm http 304 https://registry.npmjs.org/mime/1.2.6
npm http 304 https://registry.npmjs.org/bytes/0.2.0
npm WARN package.json bytes@0.2.0 No repository field.
npm http 304 https://registry.npmjs.org/pause/0.0.1
npm WARN package.json pause@0.0.1 No repository field.
npm http 304 https://registry.npmjs.org/formidable/1.0.14
npm http 304 https://registry.npmjs.org/qs/0.6.5
npm http 304 https://registry.npmjs.org/send/0.1.1
npm http 304 https://registry.npmjs.org/cookie/0.0.5
npm http GET https://registry.npmjs.org/mime
npm http 304 https://registry.npmjs.org/mime
C:\Users\Dmitry\AppData\Roaming\npm\express -> C:\Users\Dmitry\AppData\Roaming\npm\node_modules\express\bin\express
npm WARN package.json policyfile@0.0.4 'repositories' (plural) Not supported.
npm WARN package.json Please pick one as the 'repository' field
npm WARN package.json assert-plus@0.1.2 No repository field.
npm WARN package.json ctype@0.5.2 No repository field.
express@3.2.6 C:\Users\Dmitry\AppData\Roaming\npm\node_modules\express
??? methods@0.0.1
??? fresh@0.1.0
??? range-parser@0.0.4
??? cookie-signature@1.0.1
??? buffer-crc32@0.2.1
??? cookie@0.1.0
??? debug@0.7.2
??? commander@0.6.1
??? mkdirp@0.3.4
??? send@0.1.0 (mime@1.2.6)
??? connect@2.7.11 (pause@0.0.1, qs@0.6.5, bytes@0.2.0, cookie@0.0.5, formidable@1.0.14, send@0.1.1)
Run Code Online (Sandbox Code Playgroud)
一些信息:
C:\ChatServer\Server>npm --version
1.2.24
C:\ChatServer\Server>node --version
v0.10.9
C:\ChatServer\Server>npm --version
1.2.24
C:\ChatServer\Server>npm ls -g installed express
npm WARN package.json cookie-signature@1.0.1 No repository field.
npm WARN package.json fresh@0.1.0 No repository field.
npm WARN package.json methods@0.0.1 No repository field.
npm WARN package.json range-parser@0.0.4 No repository field.
npm WARN package.json send@0.1.0 No repository field.
npm WARN package.json policyfile@0.0.4 'repositories' (plural) Not supported.
npm WARN package.json Please pick one as the 'repository' field
npm WARN package.json bytes@0.2.0 No repository field.
npm WARN package.json pause@0.0.1 No repository field.
npm WARN package.json assert-plus@0.1.2 No repository field.
npm WARN package.json ctype@0.5.2 No repository field.
C:\Users\Dmitry\AppData\Roaming\npm
??? express@3.2.6
C:\ChatServer\Server>npm ls installed express
C:\ChatServer\Server
??? (empty)
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?(我必须安装它-g吗?)
Gol*_*den 253
您需要将Express本地安装到应用程序(node_modules文件夹)的上下文中:
$ npm install express
Run Code Online (Sandbox Code Playgroud)
这样做的原因是应用程序始终在其本地上下文中查找任何依赖项.全局安装仅用于设置系统范围的可用二进制文件,例如单元测试运行程序或引导程序或类似的东西.
使用Express,当您在全局安装它时,您将获得一个express可以为您引导应用程序的二进制文件.有关更多信息,请键入
$ express --help
Run Code Online (Sandbox Code Playgroud)
所以,回答你的最后一个问题:是的,你需要安装它-g.
Mus*_*amg 19
对我来说,当使用--save选项在本地安装快速时,它可以工作如下:
$ npm install express --save
Run Code Online (Sandbox Code Playgroud)
Rez*_*imi 11
检查您是否不是安装express模块,使用此命令:
npm install express
Run Code Online (Sandbox Code Playgroud)
如果您的node_modules目录位于其他地方,请设置NODE_PATHenvirnment变量:
set NODE_PATH=your\directory\to\node_modules;%NODE_PATH%
Run Code Online (Sandbox Code Playgroud)
Golo已经很好地解释了解决方案,但我可能会补充说明:
有时会安装节点模块
/usr/local/lib/node_modules
Run Code Online (Sandbox Code Playgroud)
当你启动节点blabla.js模块被搜索
/lib
Run Code Online (Sandbox Code Playgroud)
所以解决方案是创建一个符号链接:
sudo ln -s /usr/local/lib/node_modules/ /lib/node_modules
Run Code Online (Sandbox Code Playgroud)
如果您已在系统上安装了Node,请使用以下 Windows 版本在本地为您的项目安装 Express:
npm install express
Run Code Online (Sandbox Code Playgroud)
或者
npm install express --save
Run Code Online (Sandbox Code Playgroud)
您可以使用以下方法为其提供全局访问权限:
npm install -g express --save
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
263749 次 |
| 最近记录: |