我有终端访问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) 我正在尝试创建一个代理服务器,将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页面,但对于其他类型的文件,它只返回一个空白页面或来自目标站点的一些错误消息(在不同的站点中有所不同).
我在一个环境中使用mongodb本机驱动程序,nodejs
我需要将一个id
字符串转换为ObjectId以在我的更新查询中使用它,我该怎么做?
我需要检查某个数据库中是否存在集合,如果不存在则创建它.我知道
db.createCollection(collName, {strict:true}, function(error, collection))
Run Code Online (Sandbox Code Playgroud)
collName
在创建之前检查是否存在集合并设置error
对象.但我需要一个独立的功能来检查.
萨拉姆(意为你好):)
我在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) 萨拉姆(意为你好):)
我在我的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
错误,但错误仍然是一样的.
我需要在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) 我正在使用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)
我知道这不会起作用,我的问题是:如何在死亡之前获得工人的最新状态?
在我的node.js应用程序中,我使用JDBC连接到Oracle数据库.我需要增加我的Java堆空间以防止出现以下错误:
java.lang.OutOfMemoryError: Java heap space
Run Code Online (Sandbox Code Playgroud)
我知道有一个终端选项可以设置最大Java堆大小(-Xmx<size>
),但问题是,我没有显式运行java,它发生在我的JDBC模块中(这取决于java模块),所以我不能使用它终端选项.
那么如何在我的情况下配置java堆大小?
萨拉姆(意为你好):)
我正在尝试在我的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) 萨拉姆(意为你好):)
我正在尝试使用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)