Node 环境 Canvas 安装慢、安装失败的解决方法
摘自:https://blog.csdn.net/EverRose/article/details/122846767 Node.js 是跨平台的,那么对于任何的 Node 模块理论也是应该是跨平台的。然而,有些 Node 模块直接或间接使用原生 C/C++ 代码,这些东西要跨平台,就需要使用源码根据实际的操作平台环境进行原生模块编译。这也是 Canvas、SQLite3 等模块安装的折磨之源。 Canvas 的安装过程 npm 下载在仓库中的 Canvas 包 执行 Canvas 的 package.json 中的 install 命令(node-pre-gyp install --fallback-to-build) node-pre-gyp 下载 Canvas 已编译好的 macOS、Linux 和 Windows 的二进制文件,如果预构建的二进制文件不存在或不可用,则回退到从源代码构建 node-gyp 编译为当前平台可用的 Node 模块 为什么安装慢,还容易失败从安装过程可以发现,步骤 3 和步骤 4 是核心问题区。Canvas 的二进制文件托管在 h...
Node.js 的包更新策略及实践
package.json 版本123456^ 开头的版本会固定首个大版本,后面的两个小版本会更新到最新,如 vue ^2.5.0 => vue 2.6.14~ 开头的版本会固定前两个版本,后面的小版本会更新到最新 vuex ~3.1.0 => vuex 3.1.3不带符号,直接写版本号会安装固定的版本 vue-router 3.5.3 => vue-router 3.5.3最小的版本设置为 x 或者 *,其最小的版本号会更新到最新 react 15.4.x => react 15.4.2依次类推任何一位版本设置为 x 或者 *,其当前位置的版本号都会更新到最新永远保持最新版本可以将版本号设置为 x 或者 *,如 pinia * => pinia 2.0.12 npm-check-updates(npm i -g npm-check-updates)工具的使用查看单个包的最新版本1ncu vue 更新 package.json(所有)的最新依赖项1ncu -u 更新单个依赖1ncu -u vue 查看全局的安装包最新版本1ncu -g 检查某...
package-lock.json 的作用
package-lock.json 文件的作用参考:https://www.cnblogs.com/kugeliu/p/9153775.html npm5 之后安装文件之后会多出一个 package-lock.json 的文件,它的作用是: 安装之后锁定包的版本,手动更改 package.json 文件安装将不会更新包,想要更新只能使用 npm install xxx@1.0.0 --save 这种方式来进行版本更新,package-lock.json 文件才可以 加快了 npm install 的速度,因为 package-lock.json 文件中已经记录了整个 node_modules 文件夹的树状结构,甚至连模块的下载地址都记录了,再重新安装的时候只需要直接下载文件即可 它的意义在于锁定了包的版本,确保能够避免包版本不同产生的问题。 最外面的两个属性 name、version 同 package.json 中的 name 和 version,用于描述当前包名称和版本。 dependencies 是一个对象,对象和 node_modules 中的包结构一一对应,...
自定义 npm 包发布及下载
封装 npm 包上传到 npmjs.com定义 package.json12345678910111213141516{ "name": "logger-server", // 会被当作包名存在,不可与现有 npm 仓库的包名重复(例如已经有了 log4js,这里就不能叫 log4js) "version": "1.0.0", // 打版本标签 "private": true, // 这个字段可以防止代码被公开发布 "description": "日志自定义封装", "main": "index.js", "author": "xiaowu", "repository": { // 可不配 "type": "git"...
