Search code examples
phpyii2phundament

Phundament and Vagrant, VCS assets


So I know for installation, generally you need to run composer global require "fxp/composer-asset-plugin:1.0.0-beta4" before you create the project with composer. However I was following the instructions for working directly in vagrant, which went swimmingly until I loaded up the backend and tried to generate the docs. running ./yii app/setup-docs throws:

[InvalidArgumentException]

No driver found to handle Asset VCS repository http://omnipotent.net/jquery.sparkline/2.1.2/jquery.sparkline.min.js

I'm not exactly sure if the composer asset plugin was supposed to be incorporated in the vagrant file somehow, or if it needed to be run manually?


Solution

  • To give an answer which might also help other people using Yii 2.0, Vagrant or Docker, I need to point out a few things.

    The error occurs, because of the missing asset plugin on your host machine, there are several open issues (as of Jan'15) about this behavior, see #3607 and #3082.

    But it is a feature of Phundament to provide a fully-set up development environment, with all plugins and packages pre-installed (but also updatable) and working. Therefore, when you run commands or scripts within a container or VM, they'll work (fingers-crossed).

    As pointed out in a comment above, running composer in a VM or container is usually slower than on your host machine.

    So as a summary: If you have your development (host-)machine set up correctly you may run composer there. If you're unsure use the container.

    Full disclosure: I am the author of Phundament.