这里我们分为两种情况。
第一,如果你使用了Github的Repository,那么你的项目地址类似于以下地址
https://github.com/eagle/example.git
那么我们要克隆项目的话,可以直接使用以上地址:
$ git clone https://github.com/eagle/example
第二种情况,我们用了自己的服务器部署Git Server。这种情况稍微复杂一点,我们需要获取服务器的公共ip(public address)。假设我的服务器公网ip是50.100.150.260,我的项目地址为/srv/git/example.git,那么我们要克隆项目,需要使用以下地址:
git@50.100.150.260:/srv/git/example.git
注意这里git是我们在部署Git Server时所创建专门用于git的用户。
克隆命令并没有变化:
$ git clone git@50.100.150.260:/srv/git/example.git
只是地址变更了而已。
好了,那么我们克隆完成之后,我们就需要进行下一步了。
首先我们需要先运行
$ composer install
来安装项目需求的包裹。因为在git clone时,位于vendor文件夹下的包裹将不会被拷贝,所以我们需要重新安装这些包裹。
完成之后,我们需要创建.env环境文件。
可能你已经注意到,我们新建Laravel项目的时候,.env文件将自动被创建在项目根目录下。但是这个文件是用于不同环境下项目配置的,所以在git clone时这个文件同样不会被拷贝至新路径。
好在Laravel自带了一个.env文件的样本,来提供我们一个基础的配置模板:
$ cp .env.example .env
现在我们有了.env环境配置文件,我们需要生成新的app key:
$ php artisan key:generate
接下来打开.env文件,你会发现APP_KEY一行已经自动填入了我们刚刚生成的key。
接下来我们将数据库信息填入相应的位置:
[…]
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=eagle
DB_USERNAME=homestead
DB_PASSWORD=secret
[…]
我们看到,DB_DATABASE一行,我们填入该环境下数据库名称,DB_USERNAME及DB_PASSWORD一行,我们分别填入管理该数据库的用户名和密码。
现在我们保存文件。如果你有数据库迁移文件(migration),那么现在可以运行
$ php artisan migrate
来进行数据库的迁移,如果有种子文件(seeder)的话,继续运行
$ php artisan db:seed
进行seeding即可。
当然以上两个命令可以合并:
$ php artisan migrate --seed
注意,原始项目数据库里除了使用seeder生成的数据仍然需要自行拷贝至新的数据库。
好了,这样一来我们后端的配置就完成了,如果你用了Laravel Mix来编译前端文件,那么你还需要
$ npm install
注意:Windows环境下请运行npm install –save-dev –no-bin-links
最后要说的一点,如果你是迁移到服务器环境下,那么你需要将storage文件夹及其包含的文件进行权限的调整:
$ chown -R www-data: storage
否则可能出现相应权限的错误。具体的权限调整请根据你环境的具体情况进行。
好了,现在我们已经成功地将Laravel迁移至了新的开发环境!