安装socket.io时出错
我试图在成功安装node
和nmp
之后在Windows(8)中安装socket.io包
但是以同样的方式npm install socket.io
( npm install socket.io
)我得到以下错误。 http://pastebin.com/EykjZ85X
Generating code
Finished generating code
validation.vcxproj -> c:\~\node_modules\socket.io\node_modules\socket.io-client\node_modules\ws\build\Release\validation.node
socket.io@0.9.16 node_modules\socket.io
├── base64id@0.1.0
├── policyfile@0.0.4
├── redis@0.7.3
└── socket.io-client@0.9.16 (xmlhttprequest@1.4.2, uglify-js@1.2.5, active-x-obfuscator@0.0.1, ws@0.4.31)
我不知道这是一个错误,但运行基本testing应用程序http://socket.io/#how-to-use不起作用。 它说它找不到套件socket.io
任何想法出了什么问题?
这对我来说不是一个错误,但它将模块安装到一个时髦的位置,所以我只能假设你没有初始化你的包。
所以你为这个例子创build一个目录,使用package.json(在dir中运行npm init
)初始化它,然后npm i socket.io --save
这将在你的例子目录中创build一个node_modules目录,安装socket.io它,然后将socket.io添加到package.json(这是 – 保存部分,或简称为-S
)。
你应该可以运行这个例子。
多一点解释
节点包在你的包的目录中需要一个package.json文件。 所以如果你有一个名为~/example
的目录,你需要在这个目录~/example/package.json
创build一个package.json
文件,然后才能将模块安装到你的包中。 package.json
文件跟踪所有的依赖关系,比如当你安装socket.io时。 创build一个npm init
cd ~/example
和npm init
– 按照说明操作。 你可以看看npm init的文档和package.json应该是什么样的 。
当你编写节点代码的时候,你在你的包中安装了本地软件包(或者如果你喜欢把它叫做那个目录的话)。 npm会把你安装在node_modules
目录下的模块的文件node_modules
,所以在我们的例子中,我们希望看到~/example/node_modules
,并且在安装socket.io之后,我们希望看到~/example/node_modules/socket.io
。 您可以使用-g
标志在全局安装一些软件包,但是只对全局实用程序执行该操作,或者如果您明白为什么需要执行此操作。