npm 在 windows 7 上安装 mongoose 失败

npm install mongoose on windows 7 failing

正在尝试在 windows 7 上安装 mongoose。 我搜索了与我的 queries.Nothing 相关的所有其他 Whosebug 问题。 将 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

我终于可以在 windows 7

上安装 mongoose

下面是我的findings/solutions

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

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

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

npm 配置设置代理 http://your.proxy:port