Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tries to install PhantomJS 4 times and then finishes script, without error. But it is not installed. #40

Closed
t202wes opened this issue Oct 18, 2016 · 8 comments

Comments

@t202wes
Copy link

t202wes commented Oct 18, 2016

When composer tries to run the installPhantomJS method, it just tries to download phantomjs 4 times unsuccessfully. It does not error. The binary is not installed int he correct location.

I'm guessing that it just can't save the file for some reason and it's trying over and over again?

> PhantomInstaller\Installer::installPhantomJS
  - Installing phantomjs (2.1.1)
    Downloading: 100%         
  - Installing phantomjs (2.1.1)
    Downloading: 100%         
  - Installing phantomjs (2.1.1)
    Downloading: 100%         
  - Installing phantomjs (2.1.1)
    Downloading: 100%    
@t202wes t202wes changed the title Tries to install PhantomJS 4 times and then stopas. Tries to install PhantomJS 4 times and then finishes script, without error. But it is not installed. Oct 18, 2016
@jakoch
Copy link
Owner

jakoch commented Oct 18, 2016

Hey Wes!

Thank you for reporting the issue.

Which version of phantomjs-installer are you using?

What you are describing is not reproducible for me, but must be close to the main download() function: https://github.com/jakoch/phantomjs-installer/blob/master/src/PhantomInstaller/Installer.php#L191-L203

I wonder why it tries to download over and over gain. I would expect the downloader to retry 3 times, then fail, see Composer/Downloader/FileDownloader L135

If it just can't save the file for some reason, it should throw an \UnexpectedValueException (see Composer/Downloader/FileDownloader L159), which then bubbles up to the installer, where the try-catch block should catch it as Exception. You should get an error/exception.

Maybe add an additional catch case: } catch (UnexpectedValueException $e) {

@amitaymolko
Copy link

+1
I get the same problem:

> PhantomInstaller\Installer::installPhantomJS
  - Installing phantomjs (2.1.1)
    Downloading: Connecting...������������������������������    Downloading: 0%           ������������������������������    Downloading: 5%�������������������    Downloading: 10%��������������������    Downloading: 15%��������������������    Downloading: 20%��������������������    Downloading: 25%��������������������    Downloading: 30%��������������������    Downloading: 35%��������������������    Downloading: 40%��������������������    Downloading: 45%��������������������    Downloading: 50%��������������������    Downloading: 55%��������������������    Downloading: 60%��������������������    Downloading: 65%��������������������    Downloading: 70%��������������������    Downloading: 75%��������������������    Downloading: 80%��������������������    Downloading: 85%��������������������    Downloading: 90%��������������������    Downloading: 95%��������������������    Downloading: 100%
  - Installing phantomjs (2.1.1)
    Downloading: Connecting...������������������������������    Downloading: 0%           ������������������������������    Downloading: 5%�������������������    Downloading: 10%��������������������    Downloading: 15%��������������������    Downloading: 20%��������������������    Downloading: 25%��������������������    Downloading: 30%��������������������    Downloading: 35%��������������������    Downloading: 40%��������������������    Downloading: 45%��������������������    Downloading: 50%��������������������    Downloading: 55%��������������������    Downloading: 60%��������������������    Downloading: 65%��������������������    Downloading: 70%��������������������    Downloading: 75%��������������������    Downloading: 80%��������������������    Downloading: 85%��������������������    Downloading: 90%��������������������    Downloading: 95%��������������������    Downloading: 100%
  - Installing phantomjs (2.1.1)
    Downloading: Connecting...������������������������������    Downloading: 0%           ������������������������������    Downloading: 5%�������������������    Downloading: 10%��������������������    Downloading: 15%��������������������    Downloading: 20%��������������������    Downloading: 25%��������������������    Downloading: 30%��������������������    Downloading: 35%��������������������    Downloading: 40%��������������������    Downloading: 45%��������������������    Downloading: 50%��������������������    Downloading: 55%��������������������    Downloading: 60%��������������������    Downloading: 65%��������������������    Downloading: 70%��������������������    Downloading: 75%��������������������    Downloading: 80%��������������������    Downloading: 85%��������������������    Downloading: 90%��������������������    Downloading: 95%��������������������    Downloading: 100%
  - Installing phantomjs (2.1.1)
    Downloading: Connecting...������������������������������    Downloading: 0%           ������������������������������    Downloading: 5%�������������������    Downloading: 10%��������������������    Downloading: 15%��������������������    Downloading: 20%��������������������    Downloading: 25%��������������������    Downloading: 30%��������������������    Downloading: 35%��������������������    Downloading: 40%��������������������    Downloading: 45%��������������������    Downloading: 50%��������������������    Downloading: 55%��������������������    Downloading: 60%��������������������    Downloading: 65%��������������������    Downloading: 70%��������������������    Downloading: 75%��������������������    Downloading: 80%��������������������    Downloading: 85%��������������������    Downloading: 90%��������������������    Downloading: 95%��������������������    Downloading: 100%

Ubuntu 16.04 LTS

@jakoch
Copy link
Owner

jakoch commented Oct 19, 2016

I couldn't reproduce the issue (using Composer 1.2.1 + phantomjs-installer 2.1.1-p07).

Please add the additional catch block after Line 193 - to check, if the exception isn't bubbling up and display any download error.

} catch (UnexpectedValueException $e) {
   $io->error($e-getMessage());
}

@amitaymolko
Copy link

I am using https://github.com/jonnnnyw/php-phantomjs which depends on phantomjs-installer 2.1.1.
After finding this: https://stefanzweifel.io/posts/laravel-forge-php7-and-bzip2/ and installing bz2.
And requiring phantomjs-installer 2.1.1-p07, it works fine.
Thanks

@jakoch
Copy link
Owner

jakoch commented Oct 20, 2016

Thanks for the feedback. Glad you got it working. 👍
I forgot about the bz2 issue. The problem was mentioned in #28 (comment)
I will send a PR to php-phantomjs to raise the version to 2.1.1-p07.

@t202wes Does an update to 2.1.1-p07 solve the issue for you, too?

@amitaymolko
Copy link

I have already sent a PR to php-phantomjs :)

@jakoch
Copy link
Owner

jakoch commented Oct 20, 2016

"two is better than one" :) Closed mine.

@jakoch
Copy link
Owner

jakoch commented Oct 26, 2016

Issue seems to be resolved. Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants