2025年3月13日更新
最近又碰到类似下面这样的问题,就是安装完之后被我删除了.git目录(当然也有可能是我直接下载了源程序压缩包,其中没有带.git目录),使用git pull origin release
就无法进行了。
由于BookStack的安装本身就比较方便,所以直接先运行安装命令(跟原有系统保持同一级目录):
git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch bookstack
进入bookstack目录后执行composer install --no-dev
。
将原有系统中的配置文件.env
以及public/uploads
和storage/uploads
两个目录中的内容复制到bookstack相应位置下(记得修改所属用户和权限)。
使用mv命令将原系统目录名重命名,再将bookstack重命名为原系统目录名。
最后在新系统目录下执行php artisan migrate
。
注意:最后一步php artisan migrate
必须在新系统目录被重命名后再运行,否则会发生500错误。
2020年2月19日原文
BookStack(因为国内有一款同名的软件,为了方便区分,以下都BookStackApp称呼)是一款在线文档管理软件,因为其界面简洁且支持中文,所以正好拿来存储些专业资料或电子书。
它的界面大致如下(版本号0.27.3):
它的升级方式也非常简单,根据github上的教程,就一条命令可以搞定。
进入到BookStack所在的目录,然后运行以下命令:
git pull origin release && composer install && php artisan migrate
由于我之前安装后删除了.git目录,所以系统提示错误,从网上下载源代码之后将.git上传到服务器,再次运行命令,此时提示“bad index file sha1 signature fatal: index file corrupt”错误。
删除.git目录下的index文件,运行git reset
命令重新生成index文件。
再次运行上述代码,此时提示“Please, commit your changes or stash them before you can merge.”,也就是存在冲突。
运行以下代码先将本地修改存储起来:
git stash
再次运行代码,此时一切OK。
PS:有可能会提示删除部分文件,按照提示执行就可。
最后一步:
php artisan cache:clear
php artisan view:clear
参考资料:
https://www.bookstackapp.com/docs/admin/installation/
https://www.bookstackapp.com/docs/admin/updates/