Articles of node

使用Node-GYP完成ArangoDB的哪些部分

我正在搞清楚ArangoDB的结构,以确定它是否可以成为我的长期解决scheme。 我的一个重要问题是,node–gyp(或Node-Addon)生成哪些部分,以及查询生成器如何将JavaScript生成的AQL查询转换为原生快速? 我知道自己也可以更深入地了解代码,但是如果一些核心开发人员能够回答这个问题(或者解释他们如何向JavaScript和AQL公开function),我认为这样做会快得多。 我觉得很多人都有责任去分析ArangoDB。 (我们的工作不是相信营销短语和基准…我们必须了解它是如何工作的)。 我的主要目标是将ArangoDB视为JavaScript开发人员。

如何编写binding.gyp来搭buildOpenNI的Node.js插件?

我试图构build一个使用OpenNI的Node.js插件。 我之前没有使用Node-gyp,因此我正在设置binding.gyp文件,以便它包含OpenNI库作为构build的一部分。 我正在编译的代码只是Hello World示例 。 我使用的binding.gyp文件是基于来自Github上的NUIMotion ,它正在做类似的事情。 这是我的: { "targets": [ { "target_name": "onijs", "sources": [ "src/main.cpp" ], "include_dirs": [ "./src/Include" ], "libraries": [ "-lOpenNI2", "-Wl,-rpath ./" ] } ] } 以下是我所做的(在OSX中工作): 创build一个名为onijs/ 下载并提取OpenNI 复制Redist目录的内容到onijs/ ( Redist有一个目录OpenNI2所以现在我有onijs/OpenNI2有一些驱动程序)。 将onijs/src/文件夹复制到onijs/src/ 将基本的“Hello World”复制到onijs/src/main.cpp 把我的onijs/文件放在onijs/ 在terminal中,我做了cd /pathTo/onijs/并运行node-gyp configure cd /pathTo/onijs/ node-gyp configure ,它工作正常 然后,我运行node-gyp build gyp node-gyp build ,然后barfed。 […]

在CentOS上为Node.js安装ZeroMQ绑定失败

所以我试图在CentOS VPS上安装ZeroMQ与Node.js的绑定,但是它只是失败了,我不知道如何解决这个问题。 我正在运行CentOS 6.5。 我已经安装Node.js 0.10.26使用: sudo yum install nodejs npm 我已经安装了ZeroMQ 2.2.0使用: sudo yum install zeromq 最后尝试安装使用package.json作为依赖的“zmq”版本“2.7.x”的ZeroMQ绑定,然后运行: npm install 该命令执行失败 node-gyp rebuild Traceback (most recent call last): File "/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 18, in <module> sys.exit(gyp.script_main()) AttributeError: 'module' object has no attribute 'script_main' 我不确定在哪里寻找解决scheme。 有人有主意吗? 提前致谢。

推到Heroku失败 – 错误fsevents@0.2.0安装:`node-gyp rebuild`

我试图推我的应用程序到Heroku,但我不断得到这个错误,看起来像node-gyp问题,但不知道如何去解决它。 2854 verbose rebuildBundles fsevents@0.2.0 2855 verbose rebuildBundles [ 'nan' ] 2856 info install fsevents@0.2.0 2857 verbose unsafe-perm in lifecycle true 2858 info fsevents@0.2.0 Failed to exec install script 2859 error fsevents@0.2.0 install: `node-gyp rebuild` 2859 error Exit status 1 2860 error Failed at the fsevents@0.2.0 install script. 2860 error This is most likely a […]

如何使用node-gyp根据节点版本有条件地编译node.js的本地代码?

我为node.js模块编写了一些C ++代码,这个模块是为节点0.8和增强的libuv编写的。 具体来说,我使用的是uv_mutex_ *函数,它不包含在节点0.6中包含的libuv中。 我想有条件地embedded这些函数的pthreads等价物,但是只有在旧版本的基础上构build。 如果节点版本为0.6,这应该使我在build立在节点0.8上的跨平台构build(Windows和Linux)和正常运行的Linux版本。 是否有节点版本的预处理器#define? 我找不到一个。 我能想到的最好的办法是在binding.gyp中做一些kludgy的东西来尝试猜测基于<@(node_root)的版本,并以某种方式将其按到“定义”值中。 一定会有更好的办法!

node-canvas在Node中工作,但在PhantomJS中需要时会失败

我有一个PhantomJS应用程序,我想从JS驱动页面(通过page.renderBase64('PNG') )获取一系列截图,然后将这些截图page.renderBase64('PNG')到GIF中。 据我所知,Node中没有办法用纯的base64string来构buildGIF,我真的不想把每一帧写到磁盘上,然后到Node外面用ImageMagick或类似的东西把它们缝在一起这会大大减缓这个过程。 所以我的计划是将base64图像绘制到canvas上,然后将canvas添加到Node GIF生成器。 虽然我可以在节点环境中使用node-canvas ,但是在我的Phantom脚本中包含require('canvas')时,当我启动一个新的Canvas对象时,吐出了缺less依赖关系时常见的错误: Error: Cannot find module './lib/node-canvas/build/Release/canvas' phantomjs://platform/bootstrap.js:299 in require phantomjs://platform/bootstrap.js:263 in require 我想,问题的一部分就是Phantom正在不同的环境中运行Node,而不是所有的依赖都不存在。 但是我不太了解Node和PhantomJS在执行Javascript方面的不同。 我不清楚什么是phantomjs://platform/bootstrap.js是否是我可以扩展的东西。 为了清楚起见,我正在使用Phantom-Node桥,在那里我用var page = require('webpage').create(); 。 然后我使用phantomjs从命令行执行脚本。 TL; DR:从PhantomJS脚本中需要基于C ++的Node模块node-canvas,它会失败,从Node运行时不会失败。 环境如何不同? 为什么一些Node模块工作而其他模块却不工作? 更新:我知道我可以在由Phantom渲染的页面上创build一个<canvas>元素并使用它,但是这需要在页面的沙箱化JS和页面之间来回耗费大量时间脚本本身。

NPM安装错误 – node-gyp

尝试安装xml-stream包,但它保持失败的构build依赖关系。 它似乎需要vc2010(vcbuild.exe),但我安装了.Net Framework 2.0 SDK,它具有vcbuild文件,并且在安装xml-stream时出现以下错误: > node-expat@2.0.0 install G:\Pessoal\node\bugzilla\node_modules\xml-stream\node _modules\node-expat > node-gyp rebuild G:\Pessoal\node\bugzilla\node_modules\xml-stream\node_modules\node-expat>node "D :\Bin\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\ node-gyp.js" rebuild Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch. The following error has occurred during XML parsing: File: G:\Pessoal\node\bugzilla\node_modules\xml-stream\node_modules\node-expa t\build\deps\libexpat\expat.vcproj Line: 1 Column: 4916 VCBUILD : error […]

在Openshift上使用node-gyp构build模块

当试图构build模块,需要node-gyp像在Openshift node-canvas我得到这个错误: > canvas@1.2.3 install /var/lib/…/repo/node_modules/canvas > node-gyp rebuild Traceback (most recent call last): File "/opt/rh/v8314/root/usr/bin/gyp", line 15, in <module> import gyp ImportError: No module named gyp gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/opt/rh/nodejs010/root/usr/lib/node_modules/node-gyp/lib/configure.js:343:16) gyp ERR! stack at ChildProcess.emit (events.js:98:17) gyp ERR! […]

错误:'REPLACE_INVALID_UTF8'不是'v8 :: String'的成员

所以我想在Raspbian中构build这个nodejs工具 。 所以作为说明说我需要npm install我继续前进,安装节点与apt-get: sudo apt-get install nodejs npm 然后我尝试编译/安装,我得到这个错误: $ npm install > configure@0.0.1 install /home/pi/Documents/Code/buzzerbot9000/node_modules/configure > node install.js sh: 1: node: not found npm WARN This failure might be due to the use of legacy binary "node" npm WARN For further explanations, please read /usr/share/doc/nodejs/README.Debian npm ERR! configure@0.0.1 install: `node install.js` npm ERR! […]

安装NodeJS contextify包会产生错误

我是1个小时进入NodeJS,所以忍受着我。 我的项目需要的一个包是JSDom。 在刺激了大部分互联网之后,我发现JSDOm有一个名为contextify的依赖关系,这在某种程度上是在JSDom安装本身内部处理的。 所以这就是我所做的: sudo npm install jsdom 一切顺利,直到我得到以下几点: gyp WARN install got an error, rolling back install gyp ERR! rebuild error Error: EACCES, stat '/root/.node-gyp/0.8.2' gyp ERR! not ok npm ERR! contextify@0.1.7 install: `node-gyp rebuild` npm ERR! `sh "-c" "node-gyp rebuild"` failed with 1 npm ERR! npm ERR! Failed at the contextify@0.1.7 install script. […]