文章目录
- 📋前言
- 🎯查看webhook配置的代码
- 🎯测试代码,检查输出内容
- 🎯解决方法
📋前言
这篇文章主要是记录和解决在宝塔面板中,webhook自动化打包vue项目时,npm不生效问题。说来奇怪,好端端的项目,无缘无故出现打包出错的问题(虽然默认的webhook不会显示报错),然后还有代码不能同步。接下来描述看看如何解决这个问题(不想看前面啰嗦的,可以直接跳到解决方法阅读)。
🎯查看webhook配置的代码
首先在宝塔面板中找到webhook这个软件,然后点击打开,点击配置好的项目,然后点击编辑,查看配置的代码。
这段webhook的代码,已经是可以自动化同步gitee代码和打包vue项目的了,这里就不多多介绍怎么配置了。
这里推荐两篇参考的文章:
Git+码云+宝塔webhook 实现把码云上的项目自动同步到web服务器上
宝塔+gitee配置webhooks,并运行npm打包(∞详尽)
🎯测试代码,检查输出内容
查看完代码,写好所需的功能,我们测试一下代码,并且在日志查看输出的内容。(因为代码已经修改了,所以翻看之前的代码运行记录)
通过这个输出,我们可以很清楚的看到输出的内容,从start到end,但是没有达到预期的效果,就是在走完git命令相关操作以后,应该是执行npm命令,如npm install、npm run build等等。但是,代码没有说有什么报错,所以问题不在代码,而是相关配置的问题。
于是修改了webhook运行的输出结果,让它显示这个报错内容,我们可以看到如下的结果。
上面输出的结果说了三次npm command not found,是的,我的webhook代码确实是有三条npm命令。由此,我们可以推断npm指令没有执行的问题,是因为没有导出npm所导致的。
🎯解决方法
在你的webhook配置的代码,加上这三句内容,导出你在宝塔配置的nodejs。
其中,第一句的路径是nodejs安装好的路径下的bin文件,每个人的版本可能不一样,注意写对版本号以及路径。
export NPM="/www/server/nodejs/v16.13.2/bin/"
PATH=$PATH:$NPM
export $PATH
然后再进行测试,vue项目开始build了,问题解决。