2012-10-01 51 views
1

我有一個的package.json,看起來像這樣檢查,如果應用程序使用Node.js的正確版本

{ 
    "name": "blog", 
    "version": "0.0.1", 
    "dependencies": { 
     "express": "~3.0.0" 
    }, 
    "engines": { 
     "node": "0.9" 
    } 
} 

顯然node本身就是一種基本的快速應用程序不關心這個文件的內容。有沒有辦法啓動一個應用程序,以便npm可以讀取它並報告錯誤?

回答

3

由於package.json只是一個json文件,您可以輕鬆加載和解析它,然後將engines.node值與process.version進行比較並報告錯誤。

這裏不需要用npm做點什麼。

+0

這就是現在的做法,但我想利用'npm'在版本字符串中使用「〜」,「> =」等。 – synapse

+1

您可以使用[node-semver軟件包](https://github.com/isaacs/node-semver)來解析和比較這些版本規範(具體查看'satisfies'函數)。 –

相關問題