NodeJS 错误:无法找到模块'dota.com'

3lxsmp7m  于 2023-10-17  发布在  Node.js
关注(0)|答案(7)|浏览(90)

我正在开发原生Node.js插件,并遵循nan文档
我把nan包括到binding.gyp中,比如:"include_dirs" : [ "<!(node -e \"require('nan')\")" ]
nan也在npm依赖中。
但是当我在另一个节点模块中安装包时,node-gyp失败并出错

> [email protected] install /Users/Shopgate/sandbox/stress/node_modules/nnb
> node-gyp rebuild

module.js:338
    throw err;
          ^
Error: Cannot find module 'nan'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at [eval]:1:1
    at Object.exports.runInThisContext (vm.js:74:17)
    at Object.<anonymous> ([eval]-wrapper:6:22)
    at Module._compile (module.js:460:26)
    at evalScript (node.js:431:25)
    at startup (node.js:90:7)
gyp: Call to 'node -e "require('nan')"' returned exit status 1. while trying to load binding.gyp
kmynzznz

kmynzznz1#

在我的例子中,这是因为package-lock文件中缺少一些依赖项。我通过删除它并再次运行$ npm install解决了这个问题。

n6lpvg4x

n6lpvg4x2#

全局安装nan
npm i -g nan
然后
export NODE_PATH=$(npm root -g)

vjrehmav

vjrehmav3#

不理想,但如果你先安装nan,它就可以工作。

$ npm install nan
093gszye

093gszye4#

我在node.js v12.18.3和npm 6.14.6版本中遇到了这个错误。
升级到node.js v14.15.4(包括npm 6.14.10)解决了这个问题。npm install在升级后成功运行。
不需要以任何方式安装nan

tvokkenx

tvokkenx5#

不幸的是,我遇到了这个问题,任何包含'npm'的内容都会立即返回并抛出错误。

module.js:471
    throw err;
    ^

Error: Cannot find module 'number-is-nan'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/index.js:2:19)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
cd: no such file or directory: /npm

我不得不删除我的node & npm文件

我遵循的卸载和重新安装说明在这里(stackoverflow):
How do I completely uninstall Node.js, and reinstall from beginning (Mac OS X)
然后我跟着兔子的足迹一路穿过每一个问题!
不要在出现摩擦的第一个迹象时立即跳到SO(stackoverflow),命令窗口将“奇怪地”为您提供正确的答案(然而,我确实遇到了我提到SO的两个障碍,主要是为了安全起见)。

--我遇到了一些摩擦,一个python框架文件在一个地方,使homebrew抛出一个警告resolve with
--和一个小桶链接警告resolved with my own write up here

  • 当我需要跑步时:brew install node

--我有另一个brew link issue,很容易,因为我上面写的小桶链接警告只需要再走一遍,所以我想。然后,我得到一个错误,说我不能brew link --overwrite node该文件(特权或东西,如果我记得,没有少resolved here)。
终于

  • 在这一点上,一切都运转良好。记住!在这中间有一些简单的步骤,我只是按照命令提示执行,比如:
  • brew想让我通过一个给定的路径删除文件:

-- * 打开查找器> [在MacBook“监视器工具栏”顶部]转到>转到文件夹.>复制并粘贴brew提供的路径在Windows中>它会找到该导演/文件,然后删除相应的目录/文件 *
--继续这些步骤,直到brew update完全满足。

  • 正如我所说的,这最后一部分只是简单地遵循brew响应的方向。
  • 我希望这个演练可以帮助一些人更快地绕过我遇到的问题,并感谢社区花时间帮助我解决我在这个答案中链接的解决方案。
  • 别为代码的错误哭泣,继续支持社区。
watbbzwu

watbbzwu6#

我参加派对要迟到了。但对我来说,最有效的方法是使用rm -rf node_modules && npm install重新安装所有node_modules

0wi1tuuw

0wi1tuuw7#

如果我用Yarn的话,

yarn add nan

相关问题