通常在使用npm时,我遇到了似乎没有任何意义的错误 - Visual Studio项目无法构建,构建工具(例如:python.exe / CL.exe)无法在命令行等。
我见过的一些软件包示例未能多次构建:
这些在npm install
期间向控制台发送带有堆栈跟踪等的大错误消息,显然已完全失败;然而,NPM和Larry一样快乐,而我的Javascript应用程序中有9次,并且它的所有依赖项工作正常。
npm install
是否使用本地计算机上可用的任何编译器递归重建每个依赖项?
如果是这样,考虑到即使是简单的软件包也可以拥有大量的依赖项,如果没有安装完整的编程语言和编译器,我怎能做任何事情?
为什么这些依赖关系失败并不一定意味着我的最终项目将无法使用?
如果无法构建的依赖项是" ok",为什么还要依赖依赖?
由于在搜索" npm build failed"等条款时发现的大量资源,我无法找到任何明确的答案。
答案 0 :(得分:3)
npm将成功。 ws
模块就是这样一个例子,它们对两个可编译的插件具有可选的依赖关系。如果他们无法构建,那么ws
只使用纯粹的js后备实现。
插件有时作为可选依赖项添加的原因是它们(通常不是)比纯js替代品执行得更快,即使是像UTF-8验证那样“简单”的东西,也可能是XOR的内容。缓冲区。