git克隆代码后npm install后 webpack-cli模块找不到和模块node-gyp rebuild 时报错...s\better-sqlite3>if not defined npm_config_node_gyp (node "F:\node....


火气冲冲能把自己气死。。。。最后差点没把自己气死。。。。。 先上cmd上的错误  

首先的一点是弄清楚node-gyp(此为何方神物竟难以install...)其实并不是install它而是重构 因为报错的是node-gyp rebuild这一步

gyp

GYP是一种构建自动化工具。 GYP由Google创建,用于生成用于构建Chromium Web浏览器的本机IDE项目文件,并使用BSD软件许可证作为开源软件获得许可。 GYP的功能类似于CMake构建工具(我也不知道是啥)。 GYP处理包含 JSON 字典的文件,以生成一个或多个目标项目make文件。

cmake

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。

CMake 可以编译源代码、制作程序库、产生适配器(wrapper)、还可以用任意的顺序建构执行档。CMake 支持 in-place 建构(二进档和源代码在同一个目录树中)和 out-of-place 建构(二进档在别的目录里),因此可以很容易从同一个源代码目录树中建构出多个二进档。CMake 也支持静态与动态程式库的建构。
“CMake”这个名字是“cross platform make”的缩写。虽然名字中含有“make”,但是CMake和Unix上常见的“make”系统是分开的,而且更为高阶哒哒哒哒哒哒。。。。。

至于为什么要有node-gyp,是由于node程序中需要调用一些其他语言编写的 工具 甚至是dll,需要先编译一下,否则就会有跨平台的问题,例如在windows上运行的软件copy到mac上就不能用了,但是如果源码支持,编译一下,在mac上还是可以用的。node-gyp在较新的Node版本中都是自带的(平台相关),用来编译原生C++模块。

以上就是gyp内容,希望本文的内容对大家的学习或者工作能带来一定的帮助, 码农网

 

原来是一种构建自动化工具,rebuild不了啊 咋整~~~~不要操作下面这个图片里面的东西 一定要看到最后在考虑要不要操作 请相信我这个小可耐  一次就好     (我带你去看天荒地老~~~)

就这样,我以为的万事大吉了 没想到曲折总是伴随左右又掉进了一个坑。。。。删除原来的node_modal文件夹后npm install后竟然还报错:(下图原本是install不是update,用错了 懒得换)

竟然找不到这个模块(先不管你 有时间在看),懵逼了  管你三七二一的 npm start 先(好 报错):(起不来的情况下在看是不是重建的问题)

找不到webpack-cli了 终于到正点了

步骤1和步骤2下面的node-gyp rebuild报错先不管它  继续往下走最后一步直接start

哎~我发现它起来了。。。。。。。。。。。。。是的 它真的起来了。。。。。。。。。。。

日了它day呀  以上午的时间。。。。。。。。。。

综上所述node-gyp rebuild出错是不影响本地代码运行的,只有找不到模块的情况下和页面语法错误(偶尔)的情况下才会影响开启本地项目

不说了 想死了。。。。。。。。。。。。。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM