1. 程式人生 > >windows平臺搭帶c++擴充套件的nodejs環境

windows平臺搭帶c++擴充套件的nodejs環境

公司產品需要使用nodejs作後臺伺服器,同時要用C++處理邏輯和資料庫儲存,所以需要nodejs及其node-gyp擴充套件包環境,這環境在linux上搭建比較方便,在安裝gcc和python2.6或2.7的環境上直接configure、make install就行了。但是作為linux新手,感覺linux上編碼簡直是痛苦,沒有智慧提示,嗯,我是linux新手。於是想回到windows上開發。

        可是在windows上裝環境就稍微麻煩一點,摸索了幾天才裝上了。目前nodejs官網最新版本是6.10.0,此版本貌似只能用VS2015編譯+python2.6或2.7(用VS2010沒編譯成功,mingw我還在摸索中),官網給的nodejs6.10.0的msi安裝包安裝後只有node.exe程式和npm(js包)這樣的執行環境,沒有node c++擴充套件的開發環境,也就是沒有node相關的標頭檔案和靜態庫即node、v8、uv等等,所以得自己拿原始碼來編譯。

        先簡單說一下關係,node.exe是javascript的直譯器,基於v8框架可以使用node-gyp(也是一個js包,由node.exe解釋執行)包將同樣基於v8框架的C++程式碼編譯為nodejs外掛包來呼叫。新版本的nodejs已經自帶npm,npm也是一個js包,由node.exe解釋執行,它是nodejs的工具包管理工具,使用“npm install XXX”和“npm uninstall XXX”來安裝和解除安裝其它工具包,比如node-gyp就可用npm來安裝。

        編譯nodejs原始碼前,先要安裝VS2015和python2.6或2.7的環境,然後啟動cmd控制檯,進入原始碼目錄,deps是依賴包的目錄,發現npm就在裡面,這個是js包,不需要編譯,而openssl、uv、v8就需要編譯了:

回到外層目錄,執行vcbuild.bat就可編譯,可加help檢視幫助,再詳細點文字方式開啟vcbuild.bat,還會發現更多細節,比如執行“vcbuild VC2015”也是一樣的。



開始本想試試加個msi項編譯後打個包,發現還需要裝什麼Wix,沒功夫研究了,就直接編譯Release版了。

編譯完成後,結果在當前目錄下的Release目錄裡:

        

現在要把可執行程式和lib庫以及外面src目錄和deps目錄的標頭檔案和npm包提取出來,高手可以自己寫指令碼提取這些東東尤其是標頭檔案。但我檢視vcbuild.bat指令碼發現原來configure是用python寫的,看來大多過程都是bat和python在工作了。大致是vcbuild.bat呼叫python configure生成node.sln工程檔案,再呼叫VS的msbuild程式來編譯node.sln。

然後檢視目錄下的供gcc用的makefile檔案,原來是呼叫tools目錄下的install指令碼,這應該是linux上編譯的步驟,windows平臺本來是要用Wix打包成msi的,現在我去按linux上的步驟去做:

於是乎我只要在命令列中輸入該語句,就可以提取出相關的東西,再看看install.py指令碼,發現它會從out\Release\裡去提取node.exe,這是gcc編譯時的生成路徑,而VS編譯時只有Release,沒有out目錄,所以乾脆新建一個out目錄,將Release目錄移進去,

指令碼在提取npm和node-gyp時會建立軟連結,這個在windows系統上會報錯,所以在如圖第36行前加#將它註釋掉先。

然後在命令列裡輸入“python tools\install.py [install | uninstall] <路徑字首>  <目錄名>”,即可將node.exe、標頭檔案、npm包提取到“路徑字首+目錄名”的路徑裡,如圖,我是將之提取到上級目錄下的nodejs6.10.0目錄中,


最後還是有一點需要手動處理的工作,檢視提取後的目錄,發現bin裡只有node.exe,lib裡只有npm包,也就是說之前編譯的Release目錄下的lib靜態庫和其它可執行程式還沒有提取出來,需要手動複製。還有需要把lib\node_modules\npm\bin\npm.cmd和lib\node_modules\npm\bin\node-gyp-bin\node-gyp.cmd複製到node.exe所在的bin目錄裡,最後將該bin目錄新增到系統的PATH環境變數中,就可以在命令列裡執行node、npm、node-gyp命令了。node-gyp本可以用npm安裝的,它這裡直接提供了。

相關推薦

windows平臺c++擴充套件nodejs環境

公司產品需要使用nodejs作後臺伺服器,同時要用C++處理邏輯和資料庫儲存,所以需要nodejs及其node-gyp擴充套件包環境,這環境在linux上搭建比較方便,在安裝gcc和python2.6或2.7的環境上直接configure、make install就行了。但

基於windows平臺,dev-c++編譯工具,搭建ffmpeg 開發環境

1  首先去ffmpeg官網下載最新的ffmpeg (ffmpeg原始碼路徑:http://ffmpeg.zeranoe.com/builds/),對於如何在windows下面編譯ffmpeg網上教程已經不計其數,在此不再贅述,我們直接取得最新的編譯之後的檔案,搭載開發環境;  對於ffmpeg 官網下面有如

windows下安裝python的C擴充套件編譯環境(解決“Unable to find vcvarsall.bat”)

N久沒有開始寫部落格了,總覺得要隨便記點東西,歲月蹉跎,曾經搞得一些東西、技術、工具,說丟也就丟了,點點滴滴還是要記錄一下吧。。。    在windows下使用pip安裝一些python的第三方庫,有很多使用C寫了一些擴充套件,需要使用VC++ Compiler 來

python初學筆記——Windows平臺安裝、配置python開發環境

Windows平臺安裝、配置python開發環境 1、在官網 https://www.python.org/,根據系統版本下載Python安裝包,這裡我選擇的是最新的版本Python3.7.2              

windows平臺使用Microsoft Visual C++ Compiler for Python 2.7編譯python擴充套件

在windows平臺上安裝python c extension的擴充套件包是件很痛苦的事情,一般通過安裝vc/vs系列來編譯C擴充套件,不過安裝包都比較大。或者通過mingw編譯,不過有時會在相容性上出現點問題。 有個好訊息就是微軟為Python提供了專用的編譯器Microsoft Visual

Windows平臺安裝最新OpenCV-2.4.9,利用Eclipse、MinGW構建C++呼叫OpenCV開發環境

最近電腦重灌系統了,第一件事重灌OpenCV。這次直接裝最新版,2014-4-25日釋出的OpenCV2.4.9版本,下載連結:1、新建資料夾OpenCV2.4.9,然後將348M大小的opencv-2.4.9.exe開啟,路徑選到新建的這個資料夾,可以看到解壓出來有4個多G

windows平臺python 2.7環境編譯安裝zbar

hone 一個 增加 acf extension python2 sdn pat o-c 最近一個項目需要識別二維碼,找來找去找到了zbar和zxing,中間越過無數坑,總算基本上弄明白,分享出來給大家。 一、zbar官方介紹 ZBar 是款桌面電腦用條形碼/

windows平臺python 2.7環境編譯安裝zbarlight

ocs ons warnings float depend wal test eight mov 類似於前一篇博文,http://www.cnblogs.com/zhongtang/p/7148082.html中描述的情況。 編譯zbarlight同樣出現問題,簡要處理步

Windows系統上以C++打印出當前活動用戶的環境變量

include copyto cal ntb views read += tac windows.h 在Windows系統上以C++打印出當前活動用戶的環境變量,代碼如下(QT環境): [cpp] view plain copy void

nodejs之MongoDB安裝[windows平臺]

windows .com .cn 選擇 pro body 成功 庫文件 鼠標右鍵 下載MongoDB,本為下載msi文件安裝,下載地址 下載完成之後直接雙擊文件安裝,安裝時註意安裝路徑 創建一個空文件夾,用於存放數據庫文件 通過控制臺進入安裝目錄下的bin目錄,或

windowsnodejs環境配置

lis func alt 安裝 pat logs ejs targe 技術 一、下載 去nodejs下載node.msi安裝文件包,裏面包含了node.js和npm; 雙擊node.msi就行了,選擇安裝路徑和npm; 二、設置環境變量 [新版本都不需要設計環境變

Windows環境使用MinGW建立簡易C語言開發環境

命名 小型 c語言開發 簡易 系統設置 close ini 你會 tdi MinGW,是Minimalist GNUfor Windows的縮寫。我們用MinGW來搭建一個簡單的C語言開發環境。 一、安裝MinGW 首先去官網下載MinGW的安裝包:http://www.m

[Flutter] Windows平臺Flutter開發環境搭建(Andorid Studio)

dem runt tps 點擊 下載頁面 系統屬性 href source runtime 前兩天網友在群裏說起了Flutter,就了解了一下,在手機上跑了它的demo,正接就被打動了。 雖然網上有很多教程,但真正開始的時候,還是會碰到很多坑。下面詳細的講解Flutter

Windows下配置Objective-C開發環境

hello rtc linker ces objc 安裝 指定 lighting 如果 一、IDE的安裝(Code::Blocks) 我們選用Code::Blocks作為IDE,它的安裝包可以從網上各處下載下來,對版本無特別要求。筆者使用的是16.10的版本(鏈接: htt

windows平臺python安裝mysqlclient報錯"Microsoft Visual C++ 14.0 is required"的解決方案

err tool sta www. 方案 技術 sql build ont windows平臺直接用 pip install mysqlclient 命令安裝報錯: error: Microsoft Visual C++ 14.0 is required. Get it

Windows 平臺搭建 PHP 整合開發環境

Windows 平臺搭建 PHP 整合開發環境 安裝xampp XAMPP 是一個易於安裝且包含 MySQL、PHP 和 Perl 的 Apache 發行版。XAMPP 的確非常容易安裝和使用:只需下載,解壓縮,啟動即可。 官網地址 點選下載window版本的安

Windows平臺上下載、安裝和測試nodejs

Node是一個伺服器端 JavaScript 直譯器,它可以幫助程式設計師構建高度可伸縮的應用程式,編寫能夠處理數萬條同時連線到一個(只有一個)物理機的連線程式碼。下面就來介紹如何在Windows平臺上下載、安裝nodejs。 一、下載nodejs檔案  1.  2.進入

nodejs環境安裝windows

1、下載對應你係統的Node.js版本:https://nodejs.org/en/download/ 安裝之後的目錄如下: 2.檢視安裝版本號 node -v npm -v 3、環境配置 修改npm包管理器的registry為淘寶映象 np

Windows平臺Hadoop環境安裝配置

下載3個所需軟體 JDK安裝與環境變數配置 下載hadoop,建議使用國內源下載 ,比如:清華大學源 下載hadooponwindows-master.zip【**能支援在windows執行hadoop的工具】 安裝配置 這篇文章寫的比較好,簡單幾步

單執行緒實現同時監聽多個埠(windows平臺c++程式碼)

前言   多年前開發了一套網路庫,底層實現採用IOCP(完成埠)。該庫已在公司多個程式中應用;經過多次修改,長時間檢驗,已經非常穩定高效。 最近把以前的程式碼梳理了一下,又加進了一些新的思路。程式碼結構更加合理,效能也有所提升。打算將該庫一些的知識點寫出來,以供參考。 服務端要在多個埠監聽,這種場合並不多見。