赞
踩
你好我是久远,最近在搭个人静态网页,到了最后一步了,传了几篇文章上去,结果文章传上去
了,图片全都失效了,没有办法,用现成的图床吧,担心哪天网站不稳定,图片全炸掉。所以最后
我选择了自己搭建图床。使用gitee以及picgo即可简单快捷的搭建自己的个人图床,无需担心和谐问
题以及稳定问题。
前提条件:电脑内装有nodejs以及npm 且二者均可正常运行。
bug处理部分放到了文章最后一个 part ,请滑到最后阅读。
进入picgo官网
点击免费下载即可下载。
打开安装包 进行安装
这里我们选择第一个,避免之后插件安装时产生权限问题。
安装环境随便填 记得住就行
安装完以后,我们启动 picgo ,这里注意,你点开 picgo 却看不到它是正常的,它默认在右下角启动,点开即可。
先进行普通的配置
然后我们进行插件安装
安装完插件并重启应用之后,我们可以看到图床设置那里出现了 gitee
观察界面,我们确认我们要填写哪些内容。
现在我们已经成功一半了。剩下的只需要注册gitee 然后新建仓库就好了!
进入gitee官网 点击注册gitee 进行注册
输入名字邮箱密码即可注册
然后我们开始新建仓库!
网页右上角加号点开,选择新建仓库。
仓库创建选项,按图来即可 注意,一定要开源尽所有人可见!!
仓库创建成功的样子:
这样我们的 repo , branch 都弄好了。
然后我们点击右上角设置 进行token的获取。
点击左栏私人令牌
再点击生成新令牌
令牌描述随便写,权限全选即可。
然后新建令牌 新建之前会让你输入密码来进行确认。
然后就生成新令牌啦。我们在此可以复制到自己的txt文档中进行保存。
然后我们返回picgo进行配置即可。
按图配置即可。
然后点击确定即可。
然后我们返回上传区进行配置。
一定要选中为gitee图床 不然会传到别的地方去!!
然后我们随便截图一张进行上传测试。
有类似此的提示 则上传成功。
转到我们配置的仓库也可以看到有图片被上传
咱们在 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 即可成功安装插件!
之前在 github 上有小伙伴说出现 Cannot find module...index.js
以及Cannot find module 'dayjs'
的错误可以尝试使用 npm 去全局安装 typescript ,这样可以完美解决问题。但是笔者的电脑权限有些问题这个方法对我并不管用。但是如果是只出现了 Cannot find module...index.js
以及Cannot find module 'dayjs'
或许可以试一试这个方法。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。