npm在Windows 7上安装mongoose失败

时间:2015-01-31 14:46:57

标签: node.js mongoose npm mean bson

尝试在Windows 7上安装mongoose。 我搜索了与我的查询相关的所有其他stackoverflow问题。没有什么对我有用。 将npm版本更新为2.4.1

如果有人可以提供帮助。

下面是我的错误日志

从安装命令提示符

C:\Program Files\nodejs>npm install mongoose
|
> kerberos@0.0.7 install C:\Program Files\nodejs\node_modules\mongoose\node_modules\mongodb\node_modules\kerberos
> (node-gyp rebuild 2> builderror.log) || (exit 0)


C:\Program Files\nodejs\node_modules\mongoose\node_modules\mongodb\node_modules\
kerberos>node "C:\Users\BARUN\AppData\Roaming\npm\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild

> bson@0.2.18 install C:\Program Files\nodejs\node_modules\mongoose\node_modules\mongodb\node_modules\bson
> (node-gyp rebuild 2> builderror.log) || (exit 0)


C:\Program Files\nodejs\node_modules\mongoose\node_modules\mongodb\node_modules\
bson>node "C:\Users\BARUN\AppData\Roaming\npm\node_modules\npm\bin\node-gyp-bin\
\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild
mongoose@3.8.22 node_modules\mongoose
+-- regexp-clone@0.0.1
+-- muri@0.3.1
+-- sliced@0.0.5
+-- hooks@0.2.1
+-- mpath@0.1.1
+-- mpromise@0.4.3
+-- ms@0.1.0
+-- mquery@0.8.0 (debug@0.7.4)
+-- mongodb@1.4.28 (kerberos@0.0.7, bson@0.2.18)

C:\Program Files\nodejs>

来自builderror.log

gyp ERR! configure error 
gyp ERR! stack Error: spawn ENOENT
gyp ERR! stack     at errnoException (child_process.js:1011:11)
gyp ERR! stack     at Process.ChildProcess._handle.onexit(child_process.js:802:34)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C:\\Users\\BARUN\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Program Files\nodejs\node_modules\mongoose\node_modules\mongodb\node_modules\bson
gyp ERR! node -v v0.10.36
gyp ERR! node-gyp -v v1.0.2
gyp ERR! not ok

1 个答案:

答案 0 :(得分:0)

最后,我可以在Windows 7上安装mongoose

以下是我的发现/解决方案

我发现问题出在mongodb上,mongodb本身就是一个节点模块和mongoose的依赖。由于我没有安装 Visual Studio c ++ 2010 ,mongodb模块没有正确构建。所以我安装了Visual Studio c ++ 2010,重新启动并尝试了mongoose安装,它对我有用。

我遇到的另一个问题是,我在防火墙后面工作,因为npm无法下载某些文件,安装中止。

要摆脱我们需要在安装之前先设置代理。

npm config set proxy http://your.proxy:port