系统版本: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 命令,完美启动!