最近公司打算要讓產品做成跨平台的,所以原本只在 Linux 上跑得 Node 程式要嘗試在 Windows 上跑了。在建立開發環境就遇到一些問題,就順手紀錄一下。
心得:我還是喜歡在 Linux 上開發就好….
開發環境
由於有裝 bcryt
這個 module 需要在安裝時才進行編譯的動作,所以需要用到 node-gyp
進行 compile 的動作,而在 Windows 7 64bit 上就需要裝以下的東西:
另外用 nvm-windows 來作 node.js 的版本控管,另外在安裝好 node 之後要確保 npm 是使用 v3.x.x 的版本,原因是在 windows 安裝 node modules 會碰到路徑過長的問題,詳情可以參考保哥文章的介紹 - 如何在 Windows 平台變更 Node.js / npm 全域模組的預設安裝路徑。
設置環境變數
通常我啟動 node 應用程式都是透過 npm script 來啟動(npm start
),順便會設定環境變數,例如:NODE_ENV=development
,但這樣設定在 windows 上是行不通的,必須改成 set NODE_ENV=development
,另外在設定多個環境變數的時候要注意有無空白,例如:set NODE_ENV=development && set FOO=bar
,在 &&
前面有一個空白,所以 NODE_ENV
也會有並不會被 trim 掉,但可以考慮用 cross-env 來解決。