找不到模块dtrace-provider

问题描述 投票:9回答:7

我有一个简单的nodejs应用程序,正在抛出"Cannot find module './build/Release/DTraceProviderBindings'"。我在线查看它看起来很多人在Windows上使用restify时遇到同样的问题(这是我的情况,我在Windows 10上使用restify)。显然,dtrace-provider is a optional module for restify并没有Windows的版本。所以,到目前为止我尝试过:

  1. 将节点更新到v6.2.0;
  2. 卸载所有模块并运行npm install --no-optional;
  3. 卸载仅解析并运行npm install restify --no-optional;
  4. 而我最绝望的举动npm安装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"
  }
node.js visual-studio-code restify
7个回答
8
投票

切换到节点6.1后,这对我有用(当重新安装节点模块不起作用时):

  1. 安装并保存dtrace-provider $ npm install dtrace-provider --save
  2. 删除'node_modules'文件夹
  3. 重新安装节点模块 $ npm install

在将您的尝试与Github项目问题上的另一个解决方案结合起来之前,我找到了这个线程,以求解决(https://github.com/restify/node-restify/issues/1093)并尽可能简化。


5
投票

我最近在节点6.11.1上遇到了这个错误。我跑了npm rebuild dtrace-provider,解决了这个问题。


2
投票

restify团队遵循尝试通过try / catch块要求加载模块的方法。你应该忽略这个例外。


1
投票

我最近在节点v8.8.1上遇到了这个错误,正如@Derek提到的那样,我运行了npm rebuild dtrace-provider并解决了这个问题。


0
投票

我知道这是一个老问题,但我想评论它,以防其他人有同样的问题。

我的问题是由于我的道路上有括号。 /users/karlgroves/Dropbox (Personal)/foo/bar/bat/project...

将项目移动到没有parens的路径为我工作。你需要消灭node_modules并重新安装。


0
投票

我已经尝试了很多建议,但又得到了同样的错误。 最后,我找到了解决这个问题的正确方法。 去node.js website并下载最新版本的node.js pkg。 安装完成后,重新安装软件,一切都会好的。


0
投票

TL;博士; dtrace-provider使用了node-gyp,它需要python版本> = 2.5而不是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版本才能构建。

希望这有助于某人=)

© www.soinside.com 2019 - 2024. All rights reserved.