GithubHelp home page GithubHelp logo

Comments (10)

thinkspill avatar thinkspill commented on June 10, 2024 3

I happened upon this thread while researching this same issue. After a bit more poking, I discovered that I was running PHPUnit without passing in the -c phpunit.xml argument, which caused phpunit to try executing all tests from the root of my project, including all tests in vendor/. Passing this argument to phpunit made this particular error go away (and on to the next one... :).

from stringy.

danielstjules avatar danielstjules commented on June 10, 2024

Thanks for pointing that out! Should be fixed in d6fa00b

from stringy.

crynobone avatar crynobone commented on June 10, 2024

Can you tag a minor release, e.g 1.8.1 so we can grab the fix :)

Thanks.

from stringy.

danielstjules avatar danielstjules commented on June 10, 2024

https://github.com/danielstjules/Stringy/releases/tag/1.8.1 :)

from stringy.

markuskoehler avatar markuskoehler commented on June 10, 2024

I just experienced a similar error when running automatic tests through Atlassian Bamboo.

Using v1.8.1 doesn't help and 1.10.* doesn't work as well. Is it possible to fix this?

Updating dependencies (including require-dev)
  - Removing danielstjules/stringy (1.8.1)
  - Installing danielstjules/stringy (1.10.0)
    Loading from cache

Writing lock file
Generating autoload files
> php artisan optimize
PHP Fatal error:  Cannot redeclare class Stringy\Stringy in /opt/atlassian/bamboo/xml-data/build-dir/MKIT-WDSA-JOB1/vendor/danielstjules/stringy/src/Stringy.php on line 5

from stringy.

danielstjules avatar danielstjules commented on June 10, 2024

Do you have a small reproduce case? Is it possible that your autoloading is indeed trying to load Stringy twice?

from stringy.

markuskoehler avatar markuskoehler commented on June 10, 2024

Well, initially I did not call it explicitely in my composer.json, but it is of course a dependency of Laravel Framework (v.5.1.19), so I cannot get rid of it. This exception only occurs when running the build in Atlassian Bamboo, not in my local dev environment or on any other dev environment where I have worked with Laravel previously.

Would it maybe help to check if Stringy is already initialized when trying to redeclare it? Can you implement such check?

from stringy.

danielstjules avatar danielstjules commented on June 10, 2024

It's possible to prevent it using something like if (!class_exists('String\Stringy')) { }, but Stringy isn't at fault for this error. Something is trying to load the file a second time, be it composer, bamboo, etc.

from stringy.

danielstjules avatar danielstjules commented on June 10, 2024

Thanks for the explanation @thinkspill ! Super helpful :)

from stringy.

taviroquai avatar taviroquai commented on June 10, 2024

OMG, I assumed that running phpunit from Laravel folder would load phpunit.xml by default. I was getting crasy about this error.
Nice catch @thinkspill

from stringy.

Related Issues (20)

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.