在成功安装node
和nmp
后,我正在尝试在windows(8)中安装socket.io包
但是以相同的方式安装socket.io
(npm install socket.io
),我会得到以下错误。http://pastebin.com/EykjZ85X
Generating code
Finished generating code
validation.vcxproj -> c:~node_modulessocket.ionode_modulessocket.io-clientnode_moduleswsbuildReleasevalidation.node
socket.io@0.9.16 node_modulessocket.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)
我不确定这是否是一个错误,但运行基本的测试应用程序http://socket.io/#how-使用不起作用。它说找不到包装插座。io
你知道怎么了吗?
这对我来说并不是一个错误,但它将你的模块安装到了一个奇怪的位置,所以我只能假设你没有初始化你的包。
因此,您为示例创建了一个目录,用package.json初始化它(在目录中运行npm init
),然后是npm i socket.io --save
。这将在示例目录中创建一个node_modules目录,在其中安装socket.io,然后将socket.io添加到package.jsn中(这是--save
部分,简称-S
)。
然后您应该能够运行该示例。
再解释一下
节点包需要在包的目录中有一个package.json文件。因此,如果您有一个名为~/example
的目录,则需要在该目录~/example/package.json
中创建一个package.json
文件,然后才能将模块安装到包中。package.json
文件会跟踪您的所有依赖项,例如安装socket.io时。要创建一个cd ~/example
和npm init
,请按照说明进行操作。您可以查看npm init的文档,以及package.json应该是什么样子。
当您编写节点代码时,您可以在包(或项目,如果您喜欢这样称呼它的话)目录中本地安装包。npm会将您安装的模块的文件放在node_modules
目录中,因此在我们的示例中,我们希望看到~/example/node_modules
,在安装socket.io之后,我们期望看到~/example/node_modules/socket.io
。您可以使用带有npm的-g
标志在全局范围内安装一些软件包,但只能为全局实用程序或在您理解为什么需要这样做的情况下这样做。