voidstate / gaslandsgarage

Team Builder for the Gaslands Miniatures Game
10 stars 10 forks source link

Local Development #5

Open cpennington opened 6 years ago

cpennington commented 6 years ago

I was looking to run this locally to make sure I hadn't broken anything. I installed vagrant, but vagrant up barfed because there's no vendor directory. In particular, it wants: vendor/laravel/homestead/scripts/homestead.rb.

Does/could this be set up to just be runnable with the webpack dev sever for local development (as long as you don't need to test login/save/load?)

unstoppablecarl commented 6 years ago

I don't think there is a way around having the php server setup to test this.

Sounds like your homestead install isn't setup correctly.

Send me an email/hangouts message I would be happy to connect and help you through it.

voidstate commented 6 years ago

Have you Run composer install? That will create the vendor folder.

cpennington commented 6 years ago

Ah, I haven't. I'm not familiar with modern PHP dev. I'll give composer install a try.

I'll also take a stab at make a standalone SPA version that can run under webpack dev server with PHP just as the API underneath.

cpennington commented 6 years ago

Hrm. composer install gets me

Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for erusev/parsedown 1.7.1 -> satisfiable by erusev/parsedown[1.7.1].
    - erusev/parsedown 1.7.1 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
  Problem 2
    - Installation request for laravel/framework v5.5.40 -> satisfiable by laravel/framework[v5.5.40].
    - laravel/framework v5.5.40 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
  Problem 3
    - Installation request for phar-io/manifest 1.0.1 -> satisfiable by phar-io/manifest[1.0.1].
    - phar-io/manifest 1.0.1 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 4
    - Installation request for phpunit/php-code-coverage 6.0.7 -> satisfiable by phpunit/php-code-coverage[6.0.7].
    - phpunit/php-code-coverage 6.0.7 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 5
    - Installation request for phpunit/phpunit 7.2.6 -> satisfiable by phpunit/phpunit[7.2.6].
    - phpunit/phpunit 7.2.6 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 6
    - Installation request for theseer/tokenizer 1.1.0 -> satisfiable by theseer/tokenizer[1.1.0].
    - theseer/tokenizer 1.1.0 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 7
    - laravel/framework v5.5.40 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - barryvdh/laravel-debugbar v3.1.5 requires illuminate/routing 5.5.x|5.6.x -> satisfiable by laravel/framework[v5.5.40].
    - Installation request for barryvdh/laravel-debugbar v3.1.5 -> satisfiable by barryvdh/laravel-debugbar[v3.1.5].

  To enable extensions, verify that they are enabled in your .ini files:
    - /etc/php/7.2/cli/php.ini
    - /etc/php/7.2/cli/conf.d/10-opcache.ini
    - /etc/php/7.2/cli/conf.d/10-pdo.ini
    - /etc/php/7.2/cli/conf.d/20-calendar.ini
    - /etc/php/7.2/cli/conf.d/20-ctype.ini
    - /etc/php/7.2/cli/conf.d/20-exif.ini
    - /etc/php/7.2/cli/conf.d/20-fileinfo.ini
    - /etc/php/7.2/cli/conf.d/20-ftp.ini
    - /etc/php/7.2/cli/conf.d/20-gettext.ini
    - /etc/php/7.2/cli/conf.d/20-iconv.ini
    - /etc/php/7.2/cli/conf.d/20-json.ini
    - /etc/php/7.2/cli/conf.d/20-phar.ini
    - /etc/php/7.2/cli/conf.d/20-posix.ini
    - /etc/php/7.2/cli/conf.d/20-readline.ini
    - /etc/php/7.2/cli/conf.d/20-shmop.ini
    - /etc/php/7.2/cli/conf.d/20-sockets.ini
    - /etc/php/7.2/cli/conf.d/20-sysvmsg.ini
    - /etc/php/7.2/cli/conf.d/20-sysvsem.ini
    - /etc/php/7.2/cli/conf.d/20-sysvshm.ini
    - /etc/php/7.2/cli/conf.d/20-tokenizer.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

Maybe a better route would be to have the Vagrantfile do the correct install steps from a known baseline? I'll take a look at that.

cpennington commented 6 years ago

Ah, nevermind. I see I was missing the mbstring and ext-dom extensions. Installing those in Ubuntu (using the php-xml and php-mbstring packages) seems to have gotten me past my immediate issues.

voidstate commented 6 years ago

PHP is mostly just used for the DB and API stuff. Laravel is total overkill for this, I know. But it's easy to setup and I'm familiar with it. :)

For anyone else looking to set up the dev environment, you will need the following dependencies:

PHP 7.1+ (I use Homebrew plus php-version-switcher for this on my Mac) Composer Vagrant VirtualBox (or equivalent) Node/NPM Git You will also need to generate an SSH key for Homestead (https://laravel.com/docs/4.2/homestead#installation-and-setup)

MySQL is provided by the Laravel Homestead Vagrant box.

r0gu3Ag3n7 commented 3 years ago

I realize this is quite an old thread at this point, however, I'd like to run this code on a local server on my network. I'm familiar with linux system administration, but less so with how I might get this running. Anyone willing to help me out?

I've gotten everything to install, edited directories in Homestead.yaml, vagrant up works without error. But when I hit the webserver for the VM I just get white. I checked the nginx config and it points to the right place at the root. I made index.php executable... Any ideas?