2016-05-31 46 views
5

我有一個簡單的nodejs應用程序拋出"Cannot find module './build/Release/DTraceProviderBindings'"。我在網上查找它,看起來像很多人在Windows上使用restify時遇到同樣的問題(這是我的情況,我在Windows 10上使用restify)。顯然,dtrace-provider is a optional module for restify並沒有它的Windows版本。所以,我到目前爲止的嘗試:找不到模塊dtrace-provider

  1. 更新節點到v6.2.0;
  2. 卸載所有模塊並運行npm install --no-optional;
  3. 只卸載restify並運行npm install restify --no-optional;
  4. 而我最絕望的舉動是npm install dtrace-provider

我試過在github問題上找到的所有東西,我在OSX用戶和其他模塊上看到了同樣的錯誤。不知道還有什麼要嘗試。

注意:這個異常不會停止我的應用程序,甚至不會在控制檯上打印錯誤,我只是注意到這是使用調試器發生的,換句話說,我的應用程序運行良好,但是這種情況一直在後臺發生。

其他模塊的名單我使用:

"dependencies": { 
    "restify": "latest", 
    "request": ">=2.11.1", 
    "cheerio": ">=0.10.0", 
    "xml2js": ">=0.2.0", 
    "botbuilder": "^0.11.1", 
    "applicationinsights": "latest" 
    } 
+0

我有同樣的問題。我希望有人有一個解決方案。 – sgmonda

+0

我剛剛嘗試刪除整個'node_modules'目錄,然後'npm install --no-optional',最後似乎沒有發生錯誤。你試過了嗎? – sgmonda

+0

是啊,我試過...一直在爲我發生 – Ernanirst

回答

4

這爲我工作切換到節點之後6.1(而當重新安裝節點模塊沒有工作):

  1. 安裝和保存的DTrace提供者

    $ npm install dtrace-provider --save 
    
  2. 刪除 'node_modules' 文件夾

  3. 重新安裝節點模塊

    $ npm install 
    

我你嘗試用在Github上項目的問題的另一個解決方案的RESTify(https://github.com/restify/node-restify/issues/1093),並簡化最好地結合之前發現了這個線索。

+0

我希望有人會更新dtrace提供程序模塊 - 它只是噴出在安裝MacOS時出錯。 –

2

restify團隊遵循嘗試通過在try/catch塊上要求加載模塊的方法。你應該忽略這個例外。

0

我知道這是一個老問題,但我想評論它,以防其他人遇到同樣的問題。

我的問題是由於在我的路徑中有括號。 /users/karlgroves/Dropbox (Personal)/foo/bar/bat/project...

將該項目移動到一個路徑,沒有parens爲我工作。 您需要清除node_modules並重新安裝。

3

我最近遇到了這個錯誤以及節點6.11.1。 我跑npm rebuild dtrace-provider並解決了這個問題。

0

我已經嘗試了很多建議,但又得到了同樣的錯誤。
最後,我找到了解決這個問題的正確方法。
轉到node.js website並下載最新版本的node.js pkg
安裝完成後,重新安裝軟件,一切都會好的。

0

我最近遇到了這個錯誤以及節點v8.8.1 @Derek提到,我跑npm rebuild dtrace-provider並解決了這個問題。

0

tl; dr;的DTrace提供者利用節點GYP這需要Python版本> = 2.5和NOT 3.5

我對OSX這個問題,發現後使用環境變量 V=/Users/your_user/your_project npm i dtrace-provider

即表明這讓我知道,有對node-gyp的依賴關係無法建立......一旦我知道這個模塊的問題,我能夠將注意力集中在排除故障node-gyp

這導致了一些日誌輸出,表明我的Python版本3.5不受支持,它需要版本>= 2.5

去並下載了python 2.7.x並檢查了/usr/bin/python 2.7.x以確保它在那裏。卸載最終需要此模塊的節點模塊,然後使用npm cache clean,然後重新安裝模塊,這次它似乎選擇了可以構建的正確的Python版本。

希望這可以幫助別人=)