Кто-нибудь заставлял Laravel Dusk работать на GitLab CI?
Я использую этот образ докера, который удивителен, но я просто не могу выполнить ./vendor/laravel/dusk/bin/chromedriver-linux
, он говорит:
/bin/bash: line 102: ./vendor/laravel/dusk/bin/chromedriver-linux: No such file or directory
Когда я вхожу в ./vendor/laravel/dusk/bin
, я вижу, что chromedriver-linux
есть и он исполняемый, но не может его запустить.
К настоящему времени строки сценария, составляющие этот этап:
- mv .env.testing .env
- php artisan key:generate
- ./vendor/bin/phpunit --colors=never
- php artisan dusk:install
- chmod -R 0755 vendor/laravel/dusk/bin
- ./vendor/laravel/dusk/bin/chromedriver-linux
- php artisan dusk
Я также попробовал подходы в документации , хотя они не для GitLab CI, но ни один из них не работал.
Обновление:
Запуск ls -l ./vendor/laravel/dusk/bin
Возвращает:
total 33560
-rwxr-xr-x 1 root root 10885776 Jun 26 13:10 chromedriver-linux
-rwxr-xr-x 1 root root 14994520 Jun 26 13:10 chromedriver-mac
-rwxr-xr-x 1 root root 8393728 Jun 26 13:10 chromedriver-win.exe
-rwxr-xr-x 1 root root 69309 Jun 25 22:59 jquery.js
Я пытался скопировать файл на текущий PATH
машины, но тоже не работал:
Тестирование переменной $ PATH
$ echo $PATH
./vendor/bin:/composer/vendor/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Копирование двоичного файла в /usr/local/bin
$ CHROME_DRIVER_PATH_BIN=./vendor/laravel/dusk/bin/chromedriver-linux
$ cp $CHROME_DRIVER_PATH_BIN /usr/local/bin
Проверка наличия файла на самом деле
$ ls -lha /usr/local/bin
total 56564
drwxr-xr-x 1 root root 4.0K Jun 26 17:33 .
drwxr-xr-x 1 root root 4.0K Feb 21 23:08 ..
-rwxr-xr-x 1 root root 10.4M Jun 26 17:33 chromedriver-linux
-rwxr-xr-x 1 root root 1.8M Feb 22 06:40 composer
-rwxrwxr-x 1 root root 118 Feb 21 23:02 docker-php-entrypoint
-rwxrwxr-x 1 root root 1.4K Feb 21 23:02 docker-php-ext-configure
-rwxrwxr-x 1 root root 2.4K Feb 21 23:02 docker-php-ext-enable
-rwxrwxr-x 1 root root 2.3K Feb 21 23:02 docker-php-ext-install
-rwxrwxr-x 1 root root 587 Feb 9 01:57 docker-php-source
lrwxrwxrwx 1 root root 32 Jun 26 17:33 heroku -> /usr/local/lib/heroku/bin/heroku
-rwxr-xr-x 1 root root 817 Feb 21 23:08 pear
-rwxr-xr-x 1 root root 838 Feb 21 23:08 peardev
-rwxr-xr-x 1 root root 751 Feb 21 23:08 pecl
lrwxrwxrwx 1 root root 9 Feb 21 23:08 phar -> phar.phar
-rwxr-xr-x 1 root root 14.5K Feb 21 23:08 phar.phar
-rwxr-xr-x 1 root root 14.3M Feb 21 23:08 php
-rwxr-xr-x 1 root root 14.2M Feb 21 23:08 php-cgi
-rwxr-xr-x 1 root root 2.6K Feb 21 23:08 php-config
-rwxr-xr-x 1 root root 14.4M Feb 21 23:08 phpdbg
-rwxr-xr-x 1 root root 4.5K Feb 21 23:08 phpize
В любом случае, запуск chromedriver-linux
не работает, я получил ошибку
nohup: can't execute 'chromedriver-linux': No such file or directory
Я протестировал ту же концепцию на моей macOS: создал исполняемый файл, поместил его в папку, которая находится в моей переменной PATH
, используя символическую ссылку, и она отлично работает.