Clay

用进废退 | 工字不出头

  • 主页
  • 归档
  • 随笔
  • 搜索
所有文章

Clay

用进废退 | 工字不出头

  • 主页
  • 归档
  • 随笔

Hexo 更新 NPM 模块

发表于:2020-01-03
字数统计:690
阅读量统计:

系统环境

1
2
3
NPM:6.4.1
NodeJs: v10.15.0
Linux: Debian 9(stretch)

NPM 更新模块(第一种方法)

假设需要将模块 hexo-site-auth@0.0.3 更新至 hexo-site-auth@0.0.4,可参考以下操作步骤。由于国内下载 NPM 模块的网速很慢,建议使用代理进行下载。注意这里不能使用 CNPM + 淘宝镜像来安装 NPM 模块,具体原因下面会给出解释。

1
2
3
4
5
6
7
# 进入Hexo的根目录
$ cd hexo_blog

# 更新NPM模块(与模块的安装操作没有本质区别,只是指定了新的版本号),如果执行失败可尝试删除package-lock.json文件后再更新
$ npm install hexo-site-auth@0.0.4 --save

# 提示:当安装命令不带具体版本号时,则表示默认安装最新版本的NPM模块

NPM 更新模块(第二种方法)

1
2
3
4
5
6
7
8
9
10
11
12
# 进入Hexo的根目录
$ cd hexo_blog

# 删除NPM的模块目录
$ rm -rf node_modules

# 编辑package.json配置文件,更改对应模块的版本号为目标版本号
$ vim package.json
"hexo-site-auth": "0.0.4"

# 安装NPM模块
$ npm install

检查更新模块是否成功

1
2
3
4
5
6
7
8
9
10
# 通过Hexo清理Public目录
$ hexo clean

# 通过Hexo构建静态文件
$ hexo generate

# 通过Hexo启动服务
$ hexo server

# 若Hexo的Web服务可以正常启动,则说明NPM模块更新成功

Gulp 压缩图片失败

若上面使用淘宝的 CNPM + 淘宝镜像来安装 NPM 模块,整个安装过程很顺利,但 Gulp 执行图片压缩的时候,可能会出现以下错误。初步判断是 CNPM 安装 gulp-imagemin 模块时出了问题,此时需要先卸载 gulp-imagemin,然后使用 NPM 工具重新安装 gulp-imagemin。

1
2
3
4
5
remote: (node:2037) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 282)
remote: (node:2037) UnhandledPromiseRejectionWarning: Error: spawn /home/git/blog-githooks-build-repo/node_modules/_optipng-bin@5.1.0@optipng-bin/vendor/optipng EACCES
remote: at Process.ChildProcess._handle.onexit (internal/child_process.js:232:19)
remote: at onErrorNT (internal/child_process.js:407:16)
remote: at process._tickCallback (internal/process/next_tick.js:63:19)
1
2
3
4
5
6
7
8
9
10
# 进入Hexo的根目录
$ cd hexo_blog

# 卸载gulp-imagemin
$ npm uninstall gulp-imagemin@5.0.3 --save

# 安装gulp-imagemin
$ npm install gulp-imagemin@5.0.3 --save

# 强烈建议直接删除整个node_modules目录,然后使用NPM工具重新安装所有模块

注意事项

  • package-lock.json 文件不是必要的,如果希望更新该文件,可直接删除文件,然后执行 “npm install” 操作后会自动重新生成该文件
  • 执行 “npm install” 操作后,可以接着执行 “npm audit fix”,但绝对不能再执行 “npm audit fix –force”,否则会强制升级 NPM 模块的版本,导致后续因代码不兼容,出现各种编译错误
本文作者: Clay
发布时间: 2020-01-03 20:42:00
最后更新: 2020-01-08 21:12:01
本文链接: https://www.techgrow.cn/posts/7ffec382.html
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
赏

谢谢你的支持

支付宝
微信
  • 前端
  • hide

扫一扫,分享到微信

微信分享二维码
Nacos 入门教程 - 配置管理中级篇
Nacos 入门教程 - 配置管理基础篇
© 2021 Clay
本站总访问量  人次
载入天数...载入时分秒...
粤ICP备19024664号
  • 所有文章

显示标签:

  • AI
  • C/C++
  • CI/CD
  • CentOS
  • Centos
  • Docker
  • HarmonyOS
  • Java
  • Linux
  • Manjaro
  • Python
  • Web服务器
  • 企业面试
  • 分布式
  • 前端
  • 区块链
  • 开发工具
  • 开源
  • 微服务
  • 数据库
  • 架构
  • 树莓派
  • 爬虫
  • 版本控制
  • 知识图谱
  • 算法与数据结构
  • 缓存
  • 网络攻防
  • 随笔

    [^_^] 出错啦!请重新刷新页面!