MacOS下运行ionic项目报错:There is an issue with `node-fibers` ## [ng] `/Users/XXX/Desktop/ionic/myApp/no...

系统版本:10.15.7

node版本:15.3.0

ionic版本:5.4.6

创建ionic项目以后,执行ionic serve 命令报错

## There is an issue with `node-fibers` ##

[ng] `/Users/XXX/Desktop/ionic/myApp/node_modules/fibers/bin/darwin-x64-88/fibers.node` is missing

Try running this to fix the issue: /usr/local/Cellar/node/15.3.0/bin/node /Users/XXX/Desktop/ionic/myApp/node_modules/fibers/build

[ng] Error: Cannot find module '/Users/XXX/Desktop/ionic/myApp/node_modules/fibers/bin/darwin-x64-88/fibers'

报错提示找不到darwin-x64-88/fibers.node,cd进入上面的目录确实没有这个文件,最新的只有darwin-x64-83/fibers.node ,但是为什么程序会去找88这个文件呢?

经过各种百度:

$find . -name fibers.node   ---查看已经编译好的fiber.node文件有哪些版本,最新的就是darwin-x64-83/fibers.node

$node -pe 'process.version'   --结果是v15.3.0

$node -pe 'process.versions.modules'   ---结果是 88

再继续查看日志:报错以后,程序Try running this to fix the issue: /usr/local/Cellar/node/15.3.0/bin/node /Users/XXX/Desktop/ionic/myApp/node_modules/fibers/build  在尝试执行这个命令,但是可能是没有效果。。。

所以,手动执行一下上面的命令:/usr/local/Cellar/node/15.3.0/bin/node /Users/XXX/Desktop/ionic/myApp/node_modules/fibers/build 结果,又报错了。。。(看着像是两个目录并排放在一起,竟然真的是个能执行的命令。。)

node-gyp not found! Please ensure node-gyp is in your PATH--

Try running: `sudo npm install -g node-gyp`

spawn node-gyp ENOENT

提示没有安装node-gyp,那就继续安装node-gyp吧。 sudo npm install -g node-gyp

再继续执行上面的命令,又又又报错了。。。

 binding.gyp not found (cwd: /usr/local/lib/node_modules) while trying to load binding.gyp

又找不到binding.gyp 了,继续百度。。。

发现了一篇帮了大忙的文章,下面是文章链接,在此感谢作者

https://blog.csdn.net/github_36487770/article/details/81052936

fibers.node根据编译的系统有关系,所以需要重新编译fibers.node

执行gyp的命令目录下,必须要有binding.gyp文件,但是从哪里找这个文件呢?

用命令查找一下吧---find . -name binding.gyp 

/Desktop/ionic/myApp/node_modules/fibers/binding.gyp

发现我的ionic项目myApp目录下面竟然有 binding.gyp文件,而且跟fibers有关系,那就在这个目录下再执行一下那个命令吧

$/usr/local/Cellar/node/15.3.0/bin/node /Users/XXX/Desktop/ionic/myApp/node_modules/fibers/build  

竟然成功了!!!真是太不容易了。。。

再运行 ionic serve 命令,完美启动!

你可能感兴趣的:(MacOS下运行ionic项目报错:There is an issue with `node-fibers` ## [ng] `/Users/XXX/Desktop/ionic/myApp/no...)