Coder Social home page Coder Social logo

php-school / workshop-manager Goto Github PK

View Code? Open in Web Editor NEW
21.0 21.0 5.0 20.75 MB

⚙ A CLI tool to help search for and manage workshops

Home Page: https://php-school.github.io/workshop-manager/

License: MIT License

PHP 99.20% Shell 0.35% Dockerfile 0.45%

workshop-manager's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

workshop-manager's Issues

PHP Fatal Error

When im trying to run command "workshop-manager verify" i got this

PHP Fatal error: Uncaught DI\NotFoundException: No entry or class found for 'Composer\IO\IOInterface' in C:\Users\qiran\AppData\Roaming\Composer\vendor\php-di\php-di\src\DI\Container.php:128
Stack trace:
#0 C:\Users\qiran\AppData\Roaming\Composer\vendor\php-school\workshop-manager\app\bootstrap.php(37): DI\Container->get('Composer\IO\IOI...')
#1 C:\Users\qiran\AppData\Roaming\Composer\vendor\php-school\workshop-manager\bin\workshop-manager(4): require('C:\Users\qiran\...')
#2 {main}
thrown in C:\Users\qiran\AppData\Roaming\Composer\vendor\php-di\php-di\src\DI\Container.php on line 128

Fatal error: Uncaught DI\NotFoundException: No entry or class found for 'Composer\IO\IOInterface' in C:\Users\qiran\AppData\Roaming\Composer\vendor\php-di\php-di\src\DI\Container.php:128
Stack trace:
#0 C:\Users\qiran\AppData\Roaming\Composer\vendor\php-school\workshop-manager\app\bootstrap.php(37): DI\Container->get('Composer\IO\IOI...')
#1 C:\Users\qiran\AppData\Roaming\Composer\vendor\php-school\workshop-manager\bin\workshop-manager(4): require('C:\Users\qiran\...')
#2 {main}
thrown in C:\Users\qiran\AppData\Roaming\Composer\vendor\php-di\php-di\src\DI\Container.php on line 128

Rework feed layout

owner & repo are confusing, because they refer to the github org and repo name. It might be better to distinguish between name and display name also.

TODO

  • Read workshop.json from repo master not local copy
  • Verbose options for Install command
  • Handle offline system... revert to local file ? user should still be able to list installed workshops.
  • Exception handling on installer 👮
    • FileSystem exceptions
    • Composer exceptions
    • Downloader FileExists exception (when zip exists and temp cant clean)
  • Symlink process ❗
    • On install
  • Tests 😅
    • Commands
    • Downloader
    • Installer
    • ManagerState
    • Uninstaller
    • Repository
    • Entity
    • the rest...
  • Fix list command conflict
    • Maybe switch out Symfony console?
  • Wrap it up in a phar
  • Self update command
  • Docs
    • Installation
    • Submitting a Workshop

Output Within Terminal Whenever PHP School is run.

Whenever workshop-manager with associated arguments or any of the associated modules (learnyouphp, php7way, callable functions) is run, instead of the command executing without posting any output to the screen, it seems to run in a verbose manner.

Attached is a text file showing the output that appears. The output does not seem to hinder the application running in any manner.

The OS I'm running is Debian Testing with the KDE Plasma Desktop. I had fully upgraded to the latest version of Testing at the time of submitting the issue.

workshop_manager_output.txt

Tab autocomplete

Would be cool to have tab auto completion for the commands:

  • Command list
  • UninstallCommand (tab output matching installed workshops)
  • InstallCommand (Closest matching workshops, limit to sensible amount)

Rebuild request

Please rebuild phar to supress php warnings about switch statements.
The warning comes from composer/composer package, and it was fixed in later version.
I'm making this request for purely esthetic reasons, since I want to use your tools in php workshops.

$> workshop-manager add learnyouphp                                                                                                                                                                                                                    

PHP Warning:  "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in phar:///usr/local/bin/workshop-manager/vendor/composer/composer/src/Composer/DependencyResolver/RuleSetGenerator.php on line 286

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in phar:///usr/local/bin/workshop-manager/vendor/composer/composer/src/Composer/DependencyResolver/RuleSetGenerator.php on line 286
 Successfully installed "learnyouphp"

Also, very good job, if phpschool.io didn't exist, I'd make the initiative myself 👍

False error "... not running in a Unix environment"

I run a Cygwin bash on ConEmu and has been working flawlessly for a few years.

After installing php-school/workshop-manager via composer, I try running the workshop manager and get the error message specified here.

That's not very helpful. Using the DIRECTORY_SEPARATOR is not a valid way of determining if I'm in cygwin or not.

Is it relevant that I'm using a XAMPP component as my php executable?

Allow to install any branch of a workshop

Allow the install command to be passed a branch name and install that instead of latest tag.

This will allow us to test that workshops are installable before we tag them.

New tag/release?

Last tagged version was in 2016, which means that packages are severely outdated in 'latest stable version'.

This is most noticeable while installing with composer global, where having installed basically any other package means broken compatibility. By 'basically any' I mean a lot of packages that are installed with composer global depend on symfony/console - just an example from top of my head.

Cannot install php-school

Changed current directory to C:/Users/qiran/AppData/Roaming/Composer
Using version ^1.1 for php-school/workshop-manager
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

Problem 1
- Installation request for php-school/workshop-manager ^1.1 -> satisfiable by php-school/workshop-manager[1.1.0].
- Conclusion: remove symfony/console v4.2.8
- Conclusion: don't install symfony/console v4.2.8
- php-school/workshop-manager 1.1.0 requires symfony/console ^3.0 -> satisfiable by symfony/console[v3.0.0, v3.0.1, v3.0.2, v3.0.3, v3.0.4, v3.0.5, v3.0.6, v3.0.7, v3.0.8, v3.0.9, v3.1.0, v3.1.1, v3.1.10, v3.1.2, v3.1.3, v3.1.4, v3.1.5, v3.1.6, v3.1.7, v3.1.8, v3.1.9, v3.2.0, v3.2.1, v3.2.10, v3.2.11, v3.2.12, v3.2.13, v3.2.14, v3.2.2, v3.2.3, v3.2.4, v3.2.5, v3.2.6, v3.2.7, v3.2.8, v3.2.9, v3.3.0, v3.3.1, v3.3.10, v3.3.11, v3.3.12, v3.3.13, v3.3.14, v3.3.15, v3.3.16, v3.3.17, v3.3.18, v3.3.2, v3.3.3, v3.3.4, v3.3.5, v3.3.6, v3.3.7, v3.3.8, v3.3.9, v3.4.0, v3.4.1, v3.4.10, v3.4.11, v3.4.12, v3.4.13, v3.4.14, v3.4.15, v3.4.16, v3.4.17, v3.4.18, v3.4.19, v3.4.2, v3.4.20, v3.4.21, v3.4.22, v3.4.23, v3.4.24, v3.4.25, v3.4.26, v3.4.27, v3.4.3, v3.4.4, v3.4.5, v3.4.6, v3.4.7, v3.4.8, v3.4.9].
- Can only install one of: symfony/console[v3.0.0, v4.2.8].
- Can only install one of: symfony/console[v3.0.1, v4.2.8].
- Can only install one of: symfony/console[v3.0.2, v4.2.8].
- Can only install one of: symfony/console[v3.0.3, v4.2.8].
- Can only install one of: symfony/console[v3.0.4, v4.2.8].
- Can only install one of: symfony/console[v3.0.5, v4.2.8].
- Can only install one of: symfony/console[v3.0.6, v4.2.8].
- Can only install one of: symfony/console[v3.0.7, v4.2.8].
- Can only install one of: symfony/console[v3.0.8, v4.2.8].
- Can only install one of: symfony/console[v3.0.9, v4.2.8].
- Can only install one of: symfony/console[v3.1.0, v4.2.8].
- Can only install one of: symfony/console[v3.1.1, v4.2.8].
- Can only install one of: symfony/console[v3.1.10, v4.2.8].
- Can only install one of: symfony/console[v3.1.2, v4.2.8].
- Can only install one of: symfony/console[v3.1.3, v4.2.8].
- Can only install one of: symfony/console[v3.1.4, v4.2.8].
- Can only install one of: symfony/console[v3.1.5, v4.2.8].
- Can only install one of: symfony/console[v3.1.6, v4.2.8].
- Can only install one of: symfony/console[v3.1.7, v4.2.8].
- Can only install one of: symfony/console[v3.1.8, v4.2.8].
- Can only install one of: symfony/console[v3.1.9, v4.2.8].
- Can only install one of: symfony/console[v3.2.0, v4.2.8].
- Can only install one of: symfony/console[v3.2.1, v4.2.8].
- Can only install one of: symfony/console[v3.2.10, v4.2.8].
- Can only install one of: symfony/console[v3.2.11, v4.2.8].
- Can only install one of: symfony/console[v3.2.12, v4.2.8].
- Can only install one of: symfony/console[v3.2.13, v4.2.8].
- Can only install one of: symfony/console[v3.2.14, v4.2.8].
- Can only install one of: symfony/console[v3.2.2, v4.2.8].
- Can only install one of: symfony/console[v3.2.3, v4.2.8].
- Can only install one of: symfony/console[v3.2.4, v4.2.8].
- Can only install one of: symfony/console[v3.2.5, v4.2.8].
- Can only install one of: symfony/console[v3.2.6, v4.2.8].
- Can only install one of: symfony/console[v3.2.7, v4.2.8].
- Can only install one of: symfony/console[v3.2.8, v4.2.8].
- Can only install one of: symfony/console[v3.2.9, v4.2.8].
- Can only install one of: symfony/console[v3.3.0, v4.2.8].
- Can only install one of: symfony/console[v3.3.1, v4.2.8].
- Can only install one of: symfony/console[v3.3.10, v4.2.8].
- Can only install one of: symfony/console[v3.3.11, v4.2.8].
- Can only install one of: symfony/console[v3.3.12, v4.2.8].
- Can only install one of: symfony/console[v3.3.13, v4.2.8].
- Can only install one of: symfony/console[v3.3.14, v4.2.8].
- Can only install one of: symfony/console[v3.3.15, v4.2.8].
- Can only install one of: symfony/console[v3.3.16, v4.2.8].
- Can only install one of: symfony/console[v3.3.17, v4.2.8].
- Can only install one of: symfony/console[v3.3.18, v4.2.8].
- Can only install one of: symfony/console[v3.3.2, v4.2.8].
- Can only install one of: symfony/console[v3.3.3, v4.2.8].
- Can only install one of: symfony/console[v3.3.4, v4.2.8].
- Can only install one of: symfony/console[v3.3.5, v4.2.8].
- Can only install one of: symfony/console[v3.3.6, v4.2.8].
- Can only install one of: symfony/console[v3.3.7, v4.2.8].
- Can only install one of: symfony/console[v3.3.8, v4.2.8].
- Can only install one of: symfony/console[v3.3.9, v4.2.8].
- Can only install one of: symfony/console[v3.4.0, v4.2.8].
- Can only install one of: symfony/console[v3.4.1, v4.2.8].
- Can only install one of: symfony/console[v3.4.10, v4.2.8].
- Can only install one of: symfony/console[v3.4.11, v4.2.8].
- Can only install one of: symfony/console[v3.4.12, v4.2.8].
- Can only install one of: symfony/console[v3.4.13, v4.2.8].
- Can only install one of: symfony/console[v3.4.14, v4.2.8].
- Can only install one of: symfony/console[v3.4.15, v4.2.8].
- Can only install one of: symfony/console[v3.4.16, v4.2.8].
- Can only install one of: symfony/console[v3.4.17, v4.2.8].
- Can only install one of: symfony/console[v3.4.18, v4.2.8].
- Can only install one of: symfony/console[v3.4.19, v4.2.8].
- Can only install one of: symfony/console[v3.4.2, v4.2.8].
- Can only install one of: symfony/console[v3.4.20, v4.2.8].
- Can only install one of: symfony/console[v3.4.21, v4.2.8].
- Can only install one of: symfony/console[v3.4.22, v4.2.8].
- Can only install one of: symfony/console[v3.4.23, v4.2.8].
- Can only install one of: symfony/console[v3.4.24, v4.2.8].
- Can only install one of: symfony/console[v3.4.25, v4.2.8].
- Can only install one of: symfony/console[v3.4.26, v4.2.8].
- Can only install one of: symfony/console[v3.4.27, v4.2.8].
- Can only install one of: symfony/console[v3.4.3, v4.2.8].
- Can only install one of: symfony/console[v3.4.4, v4.2.8].
- Can only install one of: symfony/console[v3.4.5, v4.2.8].
- Can only install one of: symfony/console[v3.4.6, v4.2.8].
- Can only install one of: symfony/console[v3.4.7, v4.2.8].
- Can only install one of: symfony/console[v3.4.8, v4.2.8].
- Can only install one of: symfony/console[v3.4.9, v4.2.8].
- Installation request for symfony/console (locked at v4.2.8) -> satisfiable by symfony/console[v4.2.8].

Installation failed, reverting ./composer.json to its original content.

Class not found at "workshop-manager verify"

I just downloaded workshop-manager.phar as per instructions given at the official site. But when it try to execute verify command it gives me this error:

PHP Warning:  Class 'Tightenco\Collect\Support\Arr' not found in phar:///usr/local/bin/workshop-manager/vendor/tightenco/collect/src/Collect/Support/alias.php on line 16

PHP Parse error:  syntax error, unexpected '=' in phar:///usr/local/bin/workshop-manager/vendor/tightenco/collect/src/Collect/Support/Arr.php on line 380

My PHP version is:

PHP 7.0.33-0+deb9u3 (cli) (built: Mar  8 2019 10:01:24) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.33-0+deb9u3, Copyright (c) 1999-2017, by Zend Technologies

My OS is Debian 9.9

Error when running workshop in Windows 10x64

d:\cygwin\workshop-manager-master\bin>php workshop-manager

Fatal error: Uncaught DI\NotFoundException: No entry or class found for 'Composer\IO\IOInterface' in D:\cygwin\workshop-manager-master\vendor\php-di\php-di\src\DI\Container.php:119
Stack trace:
#0 D:\cygwin\workshop-manager-master\app\bootstrap.php(37): DI\Container->get('Composer\\IO\\IOI...')
#1 D:\cygwin\workshop-manager-master\bin\workshop-manager(4): require('D:\\cygwin\\works...')
#2 {main}
  thrown in D:\cygwin\workshop-manager-master\vendor\php-di\php-di\src\DI\Container.php on line 119

Environment:

d:\cygwin\workshop-manager-master\bin>composer --version
Composer version 1.4.1 2017-03-10 09:29:45

d:\cygwin\workshop-manager-master\bin>php --version
PHP 7.0.8 (cli) (built: Jun 21 2016 15:15:15) ( ZTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

Same error when running php workshop-manager.phar verify

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.