【超详细】gitee+picgo个人图床搭建+插件安装bug处理

2023-11-09

【超详细】gitee+picgo个人图床搭建+各种插件安装bug处理

你好我是久远,最近在搭个人静态网页,到了最后一步了,传了几篇文章上去,结果文章传上去
了,图片全都失效了,没有办法,用现成的图床吧,担心哪天网站不稳定,图片全炸掉。所以最后
我选择了自己搭建图床。使用gitee以及picgo即可简单快捷的搭建自己的个人图床,无需担心和谐问
题以及稳定问题。

前提条件:电脑内装有nodejs以及npm 且二者均可正常运行。

bug处理部分放到了文章最后一个 part ,请滑到最后阅读。

picgo下载与安装

进入picgo官网

picgo

点击免费下载即可下载。

打开安装包 进行安装

这里我们选择第一个,避免之后插件安装时产生权限问题。

安装环境随便填 记得住就行

安装完以后,我们启动 picgo ,这里注意,你点开 picgo 却看不到它是正常的,它默认在右下角启动,点开即可。

先进行普通的配置

然后我们进行插件安装

安装完插件并重启应用之后,我们可以看到图床设置那里出现了 gitee

观察界面,我们确认我们要填写哪些内容。

现在我们已经成功一半了。剩下的只需要注册gitee 然后新建仓库就好了!

gitee注册以及仓库的新建

进入gitee官网 点击注册gitee 进行注册

输入名字邮箱密码即可注册

然后我们开始新建仓库!

网页右上角加号点开,选择新建仓库。

仓库创建选项,按图来即可 注意,一定要开源尽所有人可见!!

仓库创建成功的样子:

这样我们的 repo , branch 都弄好了。

然后我们点击右上角设置 进行token的获取。

点击左栏私人令牌

再点击生成新令牌

令牌描述随便写,权限全选即可。

然后新建令牌 新建之前会让你输入密码来进行确认。

然后就生成新令牌啦。我们在此可以复制到自己的txt文档中进行保存。

然后我们返回picgo进行配置即可。

按图配置即可。

然后点击确定即可。

然后我们返回上传区进行配置。

一定要选中为gitee图床 不然会传到别的地方去!!

然后我们随便截图一张进行上传测试。

有类似此的提示 则上传成功。

转到我们配置的仓库也可以看到有图片被上传

关于插件bug处理

咱们在 picgo 上安装 gitee 插件的时候也可以看到, gitee 有三个插件,但是这里推荐第三种,前两种并不稳定。

我在安装第三种插件的时候,出现了非常多的错误。

首先,点击安装,picgo 进行弹窗表示 error 但是没有任何错误提醒。

点进picgo设置查看日志才知道问题所在。

那在这里呢,就给大家分享几个我遇到的坑,然后最终填上的。

首先是这样一段错误代码:

2021-10-08 16:27:47 [PicGo ERROR] 插件安装失败,失败码为1,错误日志为[37;40mnpm[0m [0m[31;40mERR![0m [0m[35mcode[0m EPERM
[0m[37;40mnpm[0m [0m[31;40mERR![0m [0m[35msyscall[0m open
[0m[37;40mnpm[0m [0m[31;40mERR![0m [0m[35mpath[0m D:\nodejs\node_cache\_cacache\tmp\edad6f19
[0m[37;40mnpm[0m [0m[31;40mERR![0m [0m[35merrno[0m EPERM
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m FetchError: Invalid response body while trying to fetch https://registry.npmjs.org/picgo-plugin-gitee-uploader: EPERM: operation not permitted, open 'D:\nodejs\node_cache\_cacache\tmp\edad6f19'
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m     at D:\nodejs\node_global\node_modules\npm\node_modules\minipass-fetch\lib\body.js:162:15
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m     at async Arborist.[nodeFromEdge] (D:\nodejs\node_global\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:1032:19)
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m     at async Arborist.[buildDepStep] (D:\nodejs\node_global\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:906:11)
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m     at async Arborist.buildIdealTree (D:\nodejs\node_global\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:210:7)
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m     at async Promise.all (index 1)
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m     at async Arborist.reify (D:\nodejs\node_global\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\reify.js:147:5)
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m     at async Install.install (D:\nodejs\node_global\node_modules\npm\lib\install.js:170:5)
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m  FetchError: Invalid response body while trying to fetch https://registry.npmjs.org/picgo-plugin-gitee-uploader: EPERM: operation not permitted, open 'D:\nodejs\node_cache\_cacache\tmp\edad6f19'
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m     at D:\nodejs\node_global\node_modules\npm\node_modules\minipass-fetch\lib\body.js:162:15
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m     at async Arborist.[nodeFromEdge] (D:\nodejs\node_global\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:1032:19)
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m     at async Arborist.[buildDepStep] (D:\nodejs\node_global\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:906:11)
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m     at async Arborist.buildIdealTree (D:\nodejs\node_global\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:210:7)
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m     at async Promise.all (index 1)
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m     at async Arborist.reify (D:\nodejs\node_global\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\reify.js:147:5)
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m     at async Install.install (D:\nodejs\node_global\node_modules\npm\lib\install.js:170:5) {
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m   code: 'EPERM',
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m   errno: 'EPERM',
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m   syscall: 'open',
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m   path: 'D:\\nodejs\\node_cache\\_cacache\\tmp\\edad6f19',
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m   type: 'system',
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m   requiredBy: '.'
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m }
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m 
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m The operation was rejected by your operating system.
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m It's possible that the file was already in use (by a text editor or antivirus),
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m or that you lack permissions to access it.
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m 
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m If you believe this might be a permissions issue, please double-check the
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m permissions of the file and its containing directories, or try running
[0m[37;40mnpm[0m [0m[31;40mERR![0m[35m[0m the command again as root/Administrator.

虽然中间乱七八糟看不懂,但是最后给了我提示,command again as root/Administrator. 所以我最终使用了这个办法:及win10家庭版系统账户切换成 administrator 。

操作方法:win+r 输入cmd 然后在输入net user administrator /active:yes

提示指令成功完成 关掉cmd 。注销系统。会出现administrator这个账户。登陆即可。在这个环境下安装插件 不会再出现此错误。

在这过程中 我又出现了这两种报错:

Error: Cannot find module 'C:\Users\xueto\AppData\Roaming\picgo\node_modules\picgo-plugin-github-plus\dist\index.js'. Please verify that the package.json has a valid "main" entry
    at tryPackage (internal/modules/cjs/loader.js:232:19)
    at Function.Module._findPath (internal/modules/cjs/loader.js:369:18)
    at Module._resolveFilename (internal/modules/cjs/loader.js:614:27)
    at Function.Module._resolveFilename (C:\Program Files\PicGo\resources\electron.asar\common\reset-search-paths.js:41:16)
    at Function.Module._load (internal/modules/cjs/loader.js:531:27)
    at Module.require (internal/modules/cjs/loader.js:685:19)
    at require (internal/modules/cjs/helpers.js:16:16)
    at PluginLoader.getPlugin (C:\Program Files\PicGo\resources\app.asar\node_modules\picgo\dist\src\lib\PluginLoader.js:125:24)
    at PluginLoader.registerPlugin (C:\Program Files\PicGo\resources\app.asar\node_modules\picgo\dist\src\lib\PluginLoader.js:78:26)
    at PluginLoader.load (C:\Program Files\PicGo\resources\app.asar\node_modules\picgo\dist\src\lib\PluginLoader.js:61:18)
-------Error Stack End------- 
------Error Stack Begin------
Error: Cannot find module 'dayjs'
Require stack:
- D:\aaaaaaa\picgo-plugin-gitee-uploader\dist\lib\helper.js
- D:\aaaaaaa\picgo-plugin-gitee-uploader\dist\lib\octokit.js
- D:\aaaaaaa\picgo-plugin-gitee-uploader\dist\index.js
- C:\Program Files\PicGo\resources\app.asar\node_modules\picgo\dist\src\lib\PluginLoader.js
- C:\Program Files\PicGo\resources\app.asar\node_modules\picgo\dist\src\core\PicGo.js
- C:\Program Files\PicGo\resources\app.asar\node_modules\picgo\dist\src\index.js
- C:\Program Files\PicGo\resources\app.asar\background.js
- 
    at Module._resolveFilename (internal/modules/cjs/loader.js:627:15)
    at Function.Module._resolveFilename (C:\Program Files\PicGo\resources\electron.asar\common\reset-search-paths.js:41:16)
    at Function.Module._load (internal/modules/cjs/loader.js:531:27)
    at Module.require (internal/modules/cjs/loader.js:685:19)
    at require (internal/modules/cjs/helpers.js:16:16)
    at Object.<anonymous> (D:\aaaaaaa\picgo-plugin-gitee-uploader\dist\lib\helper.js:6:33)
    at Module._compile (internal/modules/cjs/loader.js:786:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:798:10)
    at Module.load (internal/modules/cjs/loader.js:645:32)
    at Function.Module._load (internal/modules/cjs/loader.js:560:12)
-------Error Stack End------- 

重要关键句 Cannot find module...index.js 以及Cannot find module 'dayjs'

于是,作为一个热爱解决bug的人。我去这个报错路径查找,发现插件的安装包下真的没有indexjs以及dayjs,查了一圈没什么头绪,难道是我nodejs 和npm有问题么? 所以我无法安装插件?于是我卸载nodejs重新安装。依旧报错。

结果最后的问题居然出在了插件安装本身上!

以 picgo-plugin-gitee-uploader 这个插件为例,如果下载了 github 上的 releases 版本我们可以从截图上来确定,它确实是缺少index 和dayjs文件的。

所以不建议从 github 这里下载安装插件。是有概率会报这样两种错误的。

那怎么安装插件最稳妥呢?一个是从 picgo 软件里直接下载安装软件。 一个就是 使用指令。

打开 cmd 然后 cd C:\Users\XXX\AppData\Roaming\picgo转到该目录下

然后输入 npm install picgo-plugin-gitee-uploader 安装成功后,重启picgo 即可成功安装插件!


2022年2月25日更新

之前在 github 上有小伙伴说出现 Cannot find module...index.js 以及Cannot find module 'dayjs' 的错误可以尝试使用 npm 去全局安装 typescript ,这样可以完美解决问题。但是笔者的电脑权限有些问题这个方法对我并不管用。但是如果是只出现了 Cannot find module...index.js 以及Cannot find module 'dayjs' 或许可以试一试这个方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【超详细】gitee+picgo个人图床搭建+插件安装bug处理 的相关文章

随机推荐

  • github代码推送总是失败

    github代码推送问题 因为github仓库代码的推送总是失败 所以改了一个方案采用ssh的方式来进行代码的推送 并记录操作步骤 方案 https方式换成ssh方式 git ssh 生成 假如已经生成的话 可以略过此步骤 ssh keyg
  • Android启动service的方法

    在 Android 中启动 service 的方法如下 创建 service 的类 并在 AndroidManifest xml 文件中注册该 service 使用 Intent 类来启动 service 例如 Intent intent
  • [转]公司管理混乱,从哪里入手?

    案例分析 我们是一个40人左右的小公司 规模虽小 但管理起来感觉力不从心 经常碰到工人抵抗 情绪化 上班迟到 旷工 不服从管理 即使勉强接受 也不会用心去做 草草应付了事 每次都提议是否弄个规章制度 但也是白纸一张 到了月底 实施不了 因为
  • 使用OpenGL 立方体贴图

    openGL系列文章目录 文章目录 openGL系列文章目录 前言 一 OpenGL 立方体贴图 二 使用步骤 1 代码 2 着色器程序 运行结果 注意 源码下载 参考 前言 对于室外3D 场景 通常可以通过在地平线上创造一些逼真的效果 来
  • SpringBoot利用AOP写一个日志管理(Log)

    1 需求 目前有这么个问题 有两个系统CSP和OMS 这俩系统共用的是同一套日志操作 Log 目前想区分下这俩系统的日志操作 那没办法了 只能重写一份Log的日志操作 你也可以参照若依框架的日志系统实现 2 新建一张日志表 sys oper
  • libevent学习篇之一:libevent快速入门

    https www jianshu com p 8ea60a8d3abb LibEvent快速入门 简介 基本的socket变成是阻塞 同步的 每个操作除非已经完成 出错 或者超时才会返回 这样对于每一个请求 要使用一个线程或者单独的进程去
  • 岁月划过生命线(16.02 ~ 10 -提前转正)

    岁月划过生命线 16 02 10 提前转正 标签 coder 10月9号收到了提前转正通知后就想写些总结 总结在微店的一年里见过的人 读过的书 做过的事儿 不然怕很多有意思的细节以后都忘了 但一直找借口迟迟懒得动笔 这篇总结断断续续竟写了一
  • Linux驱动入门必须get的知识点-01.基本框架与操作

    0 编写编译驱动的Makefile 指定驱动的测试的路径 ROOM DIR nfs rootfs home 2 study 指定测试Demo的交叉编译工具链 DEMO DIR home linux 1 DataShare 0 交叉编译工具链
  • Mybatis-Plus代码生成器快速上手示例

    Mybatis Plus代码生成器 实验脚本 Table structure for parent list DROP TABLE IF EXISTS parent list CREATE TABLE parent list p id in
  • Audacity如何改变音频节奏?Audacity调整音频节奏方法

    很多人在录完音频后都会试听效果 经常会发现音频的节奏要么太快 要么太慢 可是自己又不愿意花时间 花人力 物力再去录制音频 为了解决这问题 我们可以用Audacity改变音频的节奏 加快或者减慢某个音频片段或者整个音频的节奏 只是很多人不懂怎
  • Windows 11 & Server 2022 HLK kit WHQL认证注意事项

    微软已经发布Windows 11 Server2022 HLK WHQL 测试套装 针对这一版HLK 有一个地方十分值得注意 在创建Porject的时候会出现 is windows driver Project 选择框 这一选项目前是用于工
  • (小米系统系列一)小米/红米BL解锁,解BL锁方法(亲测可用)

    文章参考自原作者 原作者链接 https www bilibili com read cv3305336 https www xiaomi cn post 17982230 http www miui com unlock download
  • Java Eclipse如何调试代码

    下面通过一个简单的例子来了解一下 Eclipse 调试程序的方法 public class Test1 public static void main String args for循环 如果for后面 内的条件一直成立 内的代码一直执行
  • Pandas基础操作

    Pandas基础 文章目录 Pandas基础 一 Series 二 DataFrame 三 索引值 四 索引和选取 loc和iloc函数讲解 五 行和列的操作 map apply applymap函数讲解 Pandas的函数应用 层级索引
  • 数据结构与算法之快速排序

    package com yg sort author GeQiLin date 2020 2 26 21 00 import java util Arrays public class QuickSort private static in
  • [SWPUCTF 2021 新生赛]easyupload2.0

    打开以后是一个文件上传的界面 然后用burp抓包看一下 传入一个php文件 发现php是不行滴 然后想到用phtml改一下后缀 看是否可以略过 然后发现掠过了 爆出来了路径 上传成功 直接用蚁建 lianjie 链接成功 然后目录寻找fla
  • pthread_mutex_t 和 pthread_cond_t 配合使用的简要分析

    pthread mutex t 和 pthread cond t 配合使用的简要分析 1 原理 假设有两个线程同时访问一个全局变量 n 这个全局变量的初始值等于0 Int n 0 消费者线程 A 进入临界区 访问 n A 必须等到 n 大于
  • idea~不定时更新

    idea 不定时更新 类结构图 全局搜索和替换 修改鼠标停留 并显示api描述 开启idea下方边框 https www jetbrains com help idea 2019 2 using code editor html utm s
  • python运算符讲解

    作者 小刘在这里 每天分享云计算网络运维课堂笔记 疫情之下 你我素未谋面 但你一定要平平安安 一 起努力 共赴美好人生 夕阳下 是最美的 绽放 愿所有的美好 再疫情结束后如约而至 目录 运算符 python运算符 一 运算符类型 二 实际应
  • 【超详细】gitee+picgo个人图床搭建+插件安装bug处理

    超详细 gitee picgo个人图床搭建 各种插件安装bug处理 你好我是久远 最近在搭个人静态网页 到了最后一步了 传了几篇文章上去 结果文章传上去 了 图片全都失效了 没有办法 用现成的图床吧 担心哪天网站不稳定 图片全炸掉 所以最后