安装socket.io时出错

我试图在成功安装nodenmp之后在Windows(8)中安装socket.io包

但是以同样的方式npm install socket.ionpm 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 ~/examplenpm init – 按照说明操作。 你可以看看npm init的文档和package.json应该是什么样的 。

当你编写节点代码的时候,你在你的包中安装了本地软件包(或者如果你喜欢把它叫做那个目录的话)。 npm会把你安装在node_modules目录下的模块的文件node_modules ,所以在我们的例子中,我们希望看到~/example/node_modules ,并且在安装socket.io之后,我们希望看到~/example/node_modules/socket.io 。 您可以使用-g标志在全局安装一些软件包,但是只对全局实用程序执行该操作,或者如果您明白为什么需要执行此操作。