将博客从Windows转移至MacOS

Author Avatar
柒語 11月 17, 2019
  • 在其他設備中閱讀本文章

由于本人刚接触MacOS,系统使用习惯依然是Windows的那一套,还没改过来。安装Git和Node.js时没看Hexo的文档直接从官网下载安装包安装,过程也很顺利,跟Windows一样直接点下一步就安装完成了。结果到安装Hexo时,我在终端输入$ npm install -g hexo-cli 之后就报错:

npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules 
npm ERR! code EACCES 
npm ERR! syscall access 
npm ERR! path /usr/local/lib/node_modules 
npm ERR! errno -13 
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules' 
npm ERR! [Error: EACCES: permission denied, access '/usr/local/lib/node_modules'] { 
npm ERR! stack: "Error: EACCES: permission denied, access '/usr/local/lib/node_modules'", 
npm ERR! errno: -13, 
npm ERR! code: 'EACCES', 
npm ERR! syscall: 'access', 
npm ERR! path: '/usr/local/lib/node_modules' 
npm ERR! } 
npm ERR! 
npm ERR! The operation was rejected by your operating system. 
npm ERR! It is likely you do not have the permissions to access this file as the current user 
npm ERR! 
npm ERR! If you believe this might be a permissions issue, please double-check the 
npm ERR! permissions of the file and its containing directories, or try running 
npm ERR! the command again as root/Administrator. 
npm ERR! A complete log of this run can be found in: 
npm ERR!  /Users/xxxx/.npm/_logs/2019-11-16T04_23_38_680Z-debug.log 

查看Hexo的文档才知道是EACCES权限错误的问题,用Homebrew等包管理工具安装就不会出现这种问题,不过文档也提供了解决方法:npmjs发布的指导。指导提供了两种解决方法:

  • 使用节点版本管理器重新安装npm(推荐)
  • 手动更改npm的默认目录
    我选择了第二种,文档翻译如下:

为了最大程度地减少权限错误的可能性,您可以将npm配置为使用其他目录。 在此示例中,您将在主目录中创建并使用隐藏目录。

  1. 备份您的电脑
  2. 在命令行的主目录中,为全局安装创建目录: mkdir ~/.npm-global
  3. 配置npm以使用新的目录路径: npm config set prefix '~/.npm-global'
  4. 在您喜欢的文本编辑器中,打开或创建~/.profile文件并添加以下行: export PATH=~/.npm-global/bin:$PATH
  5. 在命令行上,更新系统变量:source ~/.profile

设置过后便可正常安装Hexo。
为了省事儿,我直接将原Windows系统博客目录下的配置文件 _config.yml 和主题文件夹material拷贝过来,由于本博客的外观主题 Material 的官方文档已经无法访问,凭记忆添加插件的时候少安装了一个插件,导致生成文章时再次报错,根据报错找到了忘记安装的 hexo-helper-qrcode 插件,之后便可以正常生成页面,最后添加新的ssh keys到GitHub, hexo generate --deploy 博客顺利完成转移。

因本博客主题作者已不再维护主题的文档,为了备忘记录一下使用到的配置:
Hexo插件: hexo-deployer-git(一键部署插件),hexo-generator-feed(生成feed插件),hexo-generator-search(本地搜索插件),hexo-helper-qrcode(生成文章页二维码)
MaterialCDN:使用又拍云存储图片和主题的静态文件。

补充:Xcode自带Git,应用商店直接安装即可,Node还是用包管理工具Homebrew安装省事儿。

本博客所有文章除特別聲明外,均採用CC BY-NC-SA 3.0 Unported License授權.
本文鏈接:https://onenice.site/2019/11/17/%E5%B0%86%E5%8D%9A%E5%AE%A2%E4%BB%8EWindows%E8%BD%AC%E7%A7%BB%E8%87%B3MacOS/