小编Nas*_*ade的帖子

如何在NPM安装期间使用不同版本的python?

我有终端访问VPS运行centos 5.9和默认python 2.4.3安装.我还通过以下命令安装了python 2.7.3 :(我用的是make altinstall代替make install)

wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz
tar -xf Python-2.7.3.tgz
cd Python-2.7.3
./configure
make
make altinstall
Run Code Online (Sandbox Code Playgroud)

然后我通过这些命令从源安装了node.js:

python2.7 ./configure
make
make install
Run Code Online (Sandbox Code Playgroud)

问题是,当我使用npm install并尝试安装需要python> 2.4.3的node.js包时,我收到此错误:

gyp ERR! configure error
gyp ERR! stack Error: Python executable "python" is v2.4.3, which is not supported by gyp.
gyp ERR! stack You can pass the --python switch to point to Python >= v2.5.0 & < 3.0.0.
gyp ERR! stack     at failPythonVersion (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:125:14)
gyp ERR! stack     at …
Run Code Online (Sandbox Code Playgroud)

python centos node.js npm

210
推荐指数
5
解决办法
10万
查看次数

如何在node.js中创建一个简单的http代理?

我正在尝试创建一个代理服务器,将HTTP GET客户端的请求传递给第三方网站(比如google).我的代理只需要将传入的请求镜像到目标站点上的相应路径,因此如果我的客户端请求的URL是:

127.0.0.1/images/srpr/logo11w.png
Run Code Online (Sandbox Code Playgroud)

应提供以下资源:

http://www.google.com/images/srpr/logo11w.png
Run Code Online (Sandbox Code Playgroud)

这是我想出的:

http.createServer(onRequest).listen(80);

function onRequest (client_req, client_res) {
    client_req.addListener("end", function() {
        var options = {
            hostname: 'www.google.com',
            port: 80,
            path: client_req.url,
            method: client_req.method
            headers: client_req.headers
        };
        var req=http.request(options, function(res) {
            var body;
            res.on('data', function (chunk) {
                body += chunk;
            });
            res.on('end', function () {
                 client_res.writeHead(res.statusCode, res.headers);
                 client_res.end(body);
            });
        });
        req.end();
    });
}
Run Code Online (Sandbox Code Playgroud)

它适用于html页面,但对于其他类型的文件,它只返回一个空白页面或来自目标站点的一些错误消息(在不同的站点中有所不同).

javascript proxy node.js

59
推荐指数
6
解决办法
11万
查看次数

如何在nodejs mongodb本机驱动程序中将字符串转换为ObjectId?

我在一个环境中使用mongodb本机驱动程序,nodejs我需要将一个id字符串转换为ObjectId以在我的更新查询中使用它,我该怎么做?

javascript mongodb node.js

51
推荐指数
2
解决办法
5万
查看次数

如何检查Mongodb native nodejs驱动程序中是否存在集合?

我需要检查某个数据库中是否存在集合,如果不存在则创建它.我知道

db.createCollection(collName, {strict:true}, function(error, collection))
Run Code Online (Sandbox Code Playgroud)

collName在创建之前检查是否存在集合并设置error对象.但我需要一个独立的功能来检查.

mongodb node.js node-mongodb-native

36
推荐指数
6
解决办法
6万
查看次数

NPM不安装任何模块:网络套接字挂起

萨拉姆(意为你好):)

我在ubuntu 12.04上安装了最新版本的node.js,我不在任何代理之后,我的网络设置配置正确,并且自上次NPM工作正常以来完好无损.但是现在NPM会挂起任何模块的安装,并出现以下错误:

nasser@nasser-desktop:~/projects/server v3$ npm install simple-proxy
npm WARN package.json docco@0.6.2 No repository field.
npm http GET https://registry.npmjs.org/simple-proxy
npm http GET https://registry.npmjs.org/simple-proxy
npm http GET https://registry.npmjs.org/simple-proxy
npm ERR! network socket hang up
npm ERR! network This is most likely not a problem with npm itself
npm ERR! network and is related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network 
npm ERR! network If you are …
Run Code Online (Sandbox Code Playgroud)

sockets node.js npm

17
推荐指数
2
解决办法
3万
查看次数

在Ubuntu 12.04上使用http.createServer().listen()时Node.js未处理的'错误'事件

萨拉姆(意为你好):)

我在我的Windows 7机器上开发了一个node.js脚本,它工作正常.但是当我在我的Ubuntu 12.04上运行时,出现以下错误并暂停我的应用:

    throw er; // Unhandled 'error' event
              ^
Error: listen EACCES
    at errnoException (net.js:901:11)
    at Server._listen2 (net.js:1020:19)
    at listen (net.js:1061:10)
    at Server.listen (net.js:1127:5)
    at Object.start (/httpServer/httpServer.js:9:34)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
Run Code Online (Sandbox Code Playgroud)

并且导致错误的点.listen(80)在这一行:

http.createServer(onRequest).listen(80); 
                             ^
Run Code Online (Sandbox Code Playgroud)

我也试过了一些其他端口号(比如100,300,500,......)而不是80错误,但错误仍然是一样的.

node.js ubuntu-12.04

6
推荐指数
2
解决办法
4409
查看次数

如何在MongoDB v3.0.5中创建用户

我需要在mongodb中为我的数据库创建一个用户,但似乎我无法让它工作.

我在我的Windows 7机器上安装了mongoDb v3.0.5.根据这篇文章,我连接到我的mongo实例使用:

mongo -u siteUserAdmin -p password
Run Code Online (Sandbox Code Playgroud)

然后我创建了第一个用户:

use admin
db.createUser(
  {
    user: "siteUserAdmin",
    pwd: "password",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)
Run Code Online (Sandbox Code Playgroud)

然后我在exampleDb上为我的nodejs应用程序创建了一个用户:

use admin
db.createUser(
  {
    user: "myUser",
    pwd: "123456",
    roles: [ { role: "readWrite", db: "exampleDb" } ]
  }
)
Run Code Online (Sandbox Code Playgroud)

最后在我的nodejs应用程序中,当我尝试使用此连接字符串连接到我的mongo实例时:

var connString = "mongodb://myUser:123456@127.0.0.1:27017/exampleDb";
Run Code Online (Sandbox Code Playgroud)

发生Authentication failed错误:

{ name: 'MongoError',
  message: 'Authentication failed.',
  ok: 0,
  code: 18,
  errmsg: 'Authentication failed.'
}
Run Code Online (Sandbox Code Playgroud)

mongodb node.js

5
推荐指数
0
解决办法
172
查看次数

使用node.js集群时,如何在工作者死亡时访问它?

我正在使用node.js集群模块来创建工作进程.我在fork它时在每个worker的环境中设置一个自定义变量.

我需要在工作者死亡时读取该自定义变量,但是当工作者死亡时,我无法再访问其环境对象.

这是我到目前为止所尝试的:

var cluster = require('cluster'),
    os = require('os');

if (cluster.isMaster) {

    cluster.on('exit', function (worker, code, signal) {

        console.log('worker ' + worker.process.pid + ' died');

        var x = {
            workerId: worker.process.env.workerId // This is undefined.
        };
        cluster.fork(x);
    });

    for (var i = 0; i < os.cpus().length; i++) {
        var x = {
            workerId: i
        };
        cluster.fork(x);
    }

}
else {
    console.log("workerId: ", process.env.workerId);

    // simulate an exeption:
    throw "fakeError";

}
Run Code Online (Sandbox Code Playgroud)

我知道这不会起作用,我的问题是:如何在死亡之前获得工人的最新状态?

cluster-computing node.js

4
推荐指数
1
解决办法
2147
查看次数

如何为node.js JDBC模块配置Java堆大小?

在我的node.js应用程序中,我使用JDBC连接到Oracle数据库.我需要增加我的Java堆空间以防止出现以下错误:

java.lang.OutOfMemoryError: Java heap space
Run Code Online (Sandbox Code Playgroud)

我知道有一个终端选项可以设置最大Java堆大小(-Xmx<size>),但问题是,我没有显式运行java,它发生在我的JDBC模块中(这取决于java模块),所以我不能使用它终端选项.

那么如何在我的情况下配置java堆大小?

java jdbc node.js

4
推荐指数
1
解决办法
319
查看次数

在ubuntu 12.10上安装nodejs

萨拉姆(意为你好):)

我正在尝试在我的ubuntu 12.04桌面上安装node.js. 我已经下载了node package并关注了readme文件,./configure并且make命令工作正常,但make install命令结果如下:

nasser@nasser-pc:~/Downloads/node-v0.10.21$ sudo make install
[sudo] password for nasser: 
make -C out BUILDTYPE=Release V=1
make[1]: Entering directory `/home/nasser/Downloads/node-v0.10.21/out'
  g++ '-DENABLE_DEBUGGER_SUPPORT' '-DENABLE_EXTRA_CHECKS' '-DV8_TARGET_ARCH_IA32' -I../deps/v8/src  -Wall -Wextra -Wno-unused-parameter -pthread -m32 -fno-strict-aliasing -O2 -fno-strict-aliasing -fno-tree-vrp -fno-rtti -fno-exceptions -MMD -MF /home/nasser/Downloads/node-v0.10.21/out/Release/.deps//home/nasser/Downloads/node-v0.10.21/out/Release/obj.target/v8_base/deps/v8/src/accessors.o.d.raw  -c -o /home/nasser/Downloads/node-v0.10.21/out/Release/obj.target/v8_base/deps/v8/src/accessors.o ../deps/v8/src/accessors.cc
make[1]: g++: Command not found
make[1]: *** [/home/nasser/Downloads/node-v0.10.21/out/Release/obj.target/v8_base/deps/v8/src/accessors.o] Error 127
make[1]: Leaving directory `/home/nasser/Downloads/node-v0.10.21/out'
make: *** [node] Error 2
Run Code Online (Sandbox Code Playgroud)

ubuntu node.js

2
推荐指数
1
解决办法
3912
查看次数

display:table&display:table-cell在IE9中不起作用

萨拉姆(意为你好):)

我正在尝试使用display:table&为我的网页实现3列布局display:table-cell.它在firefox和chrome中运行良好,我知道IE 9中应该支持这个功能,但到目前为止我所做的只不过是这个截图:

在此输入图像描述

我怎样才能在IE 8+中使用它?

这是我的完整代码:

(JS小提琴可用)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
    <title>test</title>
    <meta http-equiv="Content-Type" Content="text/html;charset=UTF-8">
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
        }
        html,body{
            width:100%;
            margin:0;
            padding:0;
        }
        .container{
            display:table;
            width:100%;
            border-collapse:separate;
        }
        .col{
            display:table-cell;
        }
        .side-1{
            width:200px;
            background: #efefef;
        }
        .side-2{
            width:200px;
            background: #f8f8f8;
        }
        .content{

        }
        #header,#footer{
            height:40px;
            background: #e4f3fd;
        }
    </style>
</head>
<body>
<div id="header">header</div>
<div class="container">
    <div class="col side-1">
        sidebar 1
        <br>.<br>.<br>.
    </div> …
Run Code Online (Sandbox Code Playgroud)

html css internet-explorer cross-browser

1
推荐指数
1
解决办法
2万
查看次数