Create an app in Ubuntu-20.04 in WSL2: Shopify App Template – PHP
2. Create an application, select the PHP template, and report an error: Operation not permitted, CopyFile
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app$ npm init @shopify/app@latest need to install the following packages: @shopify/create-app@3.46.2 OK to Proceed? (Y) Welcome. Let's get started by naming your app project. You can change it later. ? your app project name? ✔ Learn-php-app-ubuntu-2004-0602 ? Which template would you like to use? ✔ PHP ╭─ Error ──────────────────────── ──────────────────────── │ │ │ Eperm: Operation not permitted, CopyFile │ │/tmp/cb635eef29c31a10687f90a7693d4848/app/web/storage/logs/.gitignore-> │ │/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web/storage/lo │ │ GS/.gitignore│ │ │ ╰────────────────────────── ─────────────────────────── npm notice NPM Notice New Minor Version of NPM Available! 9.5.1 -> 9.6.7 npm notice changelog: https://github.com/npm/cli/releases/tag/v9.6.7 npm notice run npm install -g npm@9.6.7 to update! npm notice npm err! code 1 npm err! path /mnt/e/wwwroot/shopify-app npm err! command failed npm err! command sh -c create-app npm err! a complete log of this run can be found in: npm err! /home/wangqiang/.npm/_logs/2023-06-02t03_46_50_520z-debug-0.log wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app$
3. Add sudo before the command npm init @shopify/app@latest to increase permissions, no more errors
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app$ sudo npm init @shopify/app@latest Welcome. Let's get started by naming your app project. You can change it later. ? your app project name? ✔ Learn-php-app-ubuntu-2004-0602 ? Which template would you like to use? ✔ PHP
4. Reference:install php , composer
wangqiang@desktop-qlpk8qm:~$ sudo apt install php Reading package lists... done Building dependency tree Reading state information... done The following packages are automatically installed and are no longer required: libfwupdplugin1 libxmlb1 usesudo apt autoremoveto remove them. The following additional packages will be installed: apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.4 libpr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libjansson4 liblua5.2-0 php-common php7.4 php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline ssl-cert Suggested packages: apache2-doc apache2-suexec-pristine | apache2-suexec-custom php-pear openssl-blacklist The following new packages will be installed: apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.4 libpr1 libaprutil1 libaprutil1-dbd-sqlite3 Enabling Module Status. Enabling module reqtimeout. Enabling conf charset. Enabling conf localized-error-pages. Enabling conf other-vhosts-access-log. Enabling conf security. Enabling conf serve-cgi-bin. Enabling site 000-default. Info: Switch to MPM prefork for package libapache2-mod-php7.4 Module MPM_Event Disabled. Enabling Module MPM_Prefork. Info: Executing Deferreda2enmod php7.4for package libapache2-mod-php7.4 Enabling module php7.4. created symlink/etc/systemd/system/multi-user.target.wants/apache2.service → /lib/systemd/system/apache2.service. Created symlink/etc/systemd/system/multi-user.target.wants/apache-htCacheClean.service → /lib/systemd/system/apache-htcacheclean.service. Invoke-rc.d: Could not determine current runlevel setting up php7.4 (7.4.3-4ubuntu2.18) ... Setting up php (2:7.4+75) ... Processing triggers for UFW (0.36-6ubuntu1) ... Processing triggers for systemd (245.4-4ubuntu3.21) ... Processing triggers for man-db (2.9.1-1) ... Processing triggers for libc-bin (2.31-0ubuntu9.9) ... /sbin/ldconfig.real: /usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link Processing triggers for php7.4-cli (7.4.3-4ubuntu2.18) ... Processing triggers for libapache2-mod-php7.4 (7.4.3-4ubuntu2.18) ... wangqiang@desktop-qlpk8qm:~$ sudo apt install composer Reading package lists... done Building dependency tree Reading state information... done The following packages are automatically installed and are no longer required: libfwupdplugin1 libxmlb1 usesudo apt autoremoveto remove them. The following additional packages will be installed: jsonlint libonig5 php-composer-ca-bundle php-composer-semver php-composer-spdx-licenses php-composer-xdebug-handler php-json-schema php-mbstring php-psr-container php-psr-log php-symfony-console php-symfony-filesystem php-symfony-finder php-symfony-process php-symfony-service-contracts php7.4-mbstring preparing to unpack .../16-composer_1.10.1-1_all.deb ... unpacking composer (1.10.1-1) ... Setting up php-symfony-finder (4.3.8+dfsg-1ubuntu1) ... Setting up jsonlint (1.7.2-1) ... Setting up php-psr-container (1.0.0-2) ... Setting up php-symfony-service-contracts (1.1.8-1) ... Setting up php-composer-ca-bundle (1.2.6-1) ... Setting up php-symfony-process (4.3.8+DFSG-1ubuntu1) ... Setting up php-symfony-filesystem (4.3.8+DFSG-1ubuntu1) ... Setting up php-psr-log (1.1.2-1) ... Setting up php-composer-semver (1.5.1-1) ... Setting up php-json-schema (5.2.9-1) ... Setting up php-composer-spdx-licenses (1.5.3-1) ... Setting up libonig5:amd64 (6.9.4-1) ... Setting up php-composer-xdebug-handler (1.4.0-1) ... setting up php7.4-mbstring (7.4.3-4ubuntu2.18) ... Creating config file /etc/php/7.4/mods-available/mbstring.ini with new version Setting up php-mbstring (2:7.4+75) ... Setting up php-symfony-console (4.3.8+DFSG-1ubuntu1) ... Setting up composer (1.10.1-1) ... Processing triggers for libc-bin (2.31-0ubuntu9.9) ... /sbin/ldconfig.real: /usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link Processing triggers for man-db (2.9.1-1) ... Processing triggers for libapache2-mod-php7.4 (7.4.3-4ubuntu2.18) ... Processing triggers for php7.4-cli (7.4.3-4ubuntu2.18) ...
5. After creating the application, set the Laravel application. Install dependencies. Tip: It is recommended to upgrade to Composer 2. Uninstall Composer 1 first, and then install Composer 2. Reference: Subsequent use:php composer.phar .
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ composer install
Loading composer repositories with package information
warning from https://repo.packagist.org: support for composer 1 is deprecated and some packages will not be available. You should upgrade to composer 2. See https://blog.packagist.com/deprecating-composer-1-support/
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ composer-v
composer 1.10.1 2020-03-13 20:34:27
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo apt-get remove composer
[sudo]Password for wangqiang:
Reading package lists... done
Building dependency tree
Reading state information... done
The following packages are automatically installed and are no longer required:
jsonlint libfwupdplugin1 libanig5 libxmlb1 php-composer-ca-bundle php-composer-semver php-composer-spdx-licenses
php-composer-xdebug-handler php-json-schema php-mbstring php-psr-container php-psr-log php-symfony-console
php-symfony-filesystem php-symfony-finder php-symfony-process php-symfony-service-contracts php7.4-mbstring
usesudo apt autoremoveto remove them.
The following packages will be removed:
composer
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 1996 KB disk space will be freed.
Do you want to continue?[Y/n]y
(Reading database ... 66661 Files and Directories currently installed.)
Removing composer (1.10.1-1) ...
Processing triggers for man-db (2.9.1-1) ...
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ composer-v
-bash: /usr/bin/composer: no such file or directory
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ php -r "copy(https://getcomposer.org/installer,composer-setup.php);"
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ php -r "if (hash_file(sha384,composer-setup.php) ===55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba 75C0EE0459970C2200A51F492D557530C71C15D8DBA01EAE) { echoinstaller verify; } else { echoinstaller corrupt; unlink(composer-setup.php); } echo php_eol;"
installer verify
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ php composer-setup.php
All settings correct for using composer
downloading...
composer (version 2.5.7) successfully installed to: /mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web/composer.phar
use it: php composer.phar
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ php composer.phar -v
composer version 2.5.7 2023-05-24 15:00:39
6. Tips: Composer is operating signally slower than normal because you do not have the php curl extension enabled.
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ php composer.phar install Composer is operating signally slower than normal because you do not have the php curl extension enabled. wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ apt-cache search php | grep cur l php-curl - curl module for php[default] php7.4-curl - curl module for php wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo apt-get install php-curl [sudo]Password for wangqiang: Reading package lists... done Building dependency tree Reading state information... done The following packages are automatically installed and are no longer required: jsonlint libfwupdplugin1 libanig5 libxmlb1 php-composer-ca-bundle php-composer-semver php-composer-spdx-licenses php-composer-xdebug-handler php-json-schema php-mbstring php-psr-container php-psr-log php-symfony-console php-symfony-filesystem php-symfony-finder php-symfony-process php-symfony-service-contracts php7.4-mbstring usesudo apt autoremoveto remove them. The following additional packages will be installed: php7.4-curl The following new packages will be installed: php-curl php7.4-curl 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 32.9 KB of Archives. After this operation, 148 KB of additional disk space will be used. Do you want to continue?[Y/n]y get:1 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 php7.4-curl amd64 7.4.3-4ubuntu2.18[30.9 kB] get:2 http://archive.ubuntu.com/ubuntu focal/main amd64 php-curl all 2:7.4+75[2000 B] Fetched 32.9 KB in 2s (16.1 Kb/s) Selecting previously unselected package php7.4-curl. (Reading database ... 66332 Files and directories currently installed.) preparing to unpack .../php7.4-curl_7.4.3-4ubuntu2.18_amd64.deb ... unpacking php7.4-curl (7.4.3-4ubuntu2.18) ... Selecting previously unselected package php-curl. Preparing to unpack .../php-curl_2%3a7.4+75_all.deb ... unpacking php-curl (2:7.4+75) ... Setting up php7.4-curl (7.4.3-4ubuntu2.18) ... Creating config file /etc/php/7.4/mods-available/curl.ini with new version Setting up php-curl (2:7.4+75) ... Processing triggers for libapache2-mod-php7.4 (7.4.3-4ubuntu2.18) ... Processing triggers for php7.4-cli (7.4.3-4ubuntu2.18) ...
7. Your requirements could not be resolved to an installable set of packages. The root composer.json requires php ~8.0.0 || ~8.1.0 || ~8.2.0 But your PHP version (7.4.3) does not meet this requirement. Some required extensions are also not enabled.
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ php composer.phar install No composer.Lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information. Loading composer repositories with package information info from https://repo.packagist.org: #standwithukraine Updating dependencies Your requirements could not be resolved to an installable set of packages. problem 1 - root composer.json require php ~8.0.0 || ~8.1.0 || ~8.2.0 but your php version (7.4.3) Does not satisfy that require. problem 2 - root composer.json require php extension ext-xml * but it is missing from your system. install or enable phps xml extension. problem 3 - root composer.json require php extension ext-zip * but it is missing from your system. install or enable phps zip extension. problem 4 - Root Composer.[v5.0.0]. - Shopify/Shopify-API v5.0.0 require php ~8.0.0 || ~8.1.0 || ~8.2.0 -> your php version (7.4.3) does not satisfy that requires. problem 5 - root composer.[3.6.0, ..., 3.x-dev]. - squizlabs/php_codesniffer[3.6.0, ..., 3.x-dev]require ext-xmlwrite * -> it is missing from your system. install or enable phps xmlwriter extension. problem 6 - phpunit/phpunit[9.3.3, ..., 9.6.x-dev]require ext-dom * -> it is missing from your system. install or enable phps dom extension. - root composer.json require phpunit/phpunit ^9.3.3 -> satisfiable by phpunit/phpunit[9.3.3, ..., 9.6.x-dev]. To enable extensions, verify that they are enabled in your .ini files: - /etc/php/7.4/cli/php.ini - /etc/php/7.4/cli/conf.d/10-opcache.ini - /etc/php/7.4/cli/conf.d/10-pdo.ini - /etc/php/7.4/cli/conf.d/20-calendar.ini - /etc/php/7.4/cli/conf.d/20-ctype.ini - /etc/php/7.4/cli/conf.d/20-curl.ini - /etc/php/7.4/cli/conf.d/20-exif.ini - /etc/php/7.4/cli/conf.d/20-ffi.ini - /etc/php/7.4/cli/conf.d/20-fileinfo.ini - /etc/php/7.4/cli/conf.d/20-ftp.ini - /etc/php/7.4/cli/conf.d/20-gettext.ini - /etc/php/7.4/cli/conf.d/20-iconv.ini - /etc/php/7.4/cli/conf.d/20-json.ini - /etc/php/7.4/cli/conf.d/20-mbstring.ini - /etc/php/7.4/cli/conf.d/20-phar.ini - /etc/php/7.4/cli/conf.d/20-posix.ini - /etc/php/7.4/cli/conf.d/20-readline.ini - /etc/php/7.4/cli/conf.d/20-shmop.ini - /etc/php/7.4/cli/conf.d/20-sockets.ini - /etc/php/7.4/cli/conf.d/20-sysvmsg.ini - /etc/php/7.4/cli/conf.d/20-sysvsem.ini - /etc/php/7.4/cli/conf.d/20-sysvshm.ini - /etc/php/7.4/cli/conf.d/20-tokenizer.ini You can also run `php --ini` in a terminal to see which files are used by php in CLI mode. alternatively, you can run composer with `--ignore-platform-req=ext-xml --ignore-platform-req=ext-zip --ignore-platform-req=ext-xmlwriter --ignore-platform-req=ext-dom` to temporarily ignore these required extensions.
8. Reference:Uninstall PHP 7.4 in Ubuntu-20.04 in WSL2 and install PHP 8
9. Continue to install composer dependencies
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo apt-get install php8.1-curl [sudo]Password for wangqiang: Reading package lists... done Building dependency tree Reading state information... done The following new packages will be installed: php8.1-curl 0 upgraded, 1 newly installed, 0 to remove and 5 not upgraded. Need to get 33.6 KB of Archives. After this operation, 152 KB of additional disk space will be used. get:1 http://pppa.launchpad.net/ondrej/php/ubuntu focal/main amd64 php8.1-curl amd64 8.1.18-1+ubuntu20.04.1+deb.sury.org+1[33.6 kB] Fetched 33.6 KB in 2s (21.8 KB/s) Selecting previous unselected package php8.1-curl. (Reading database ... 65958 Files and Directories currently installed.) preparing to unpack .../php8.1-curl_8.1.18-1+ubuntu20.04.1+deb.sury.org+1_amd64.deb ... unpacking php8.1-curl (8.1.18-1+ubuntu20.04.1+deb.sury.org+1) ... setting up php8.1-curl (8.1.18-1+ubuntu20.04.1+deb.sury.org+1) ... Creating config file /etc/php/8.1/mods-available/curl.ini with new version Processing triggers for libapache2-mod-php8.1 (8.1.18-1+ubuntu20.04.1+deb.sury.org+1) ... Processing triggers for php8.1-cli (8.1.18-1+ubuntu20.04.1+deb.sury.org+1) ... wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ php composer.phar install No composer.Lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information. Loading composer repositories with package information info from https://repo.packagist.org: #standwithukraine Updating dependencies Your requirements could not be resolved to an installable set of packages. problem 1 - root composer.json require php extension ext-xml * but it is missing from your system. install or enable phps xml extension. problem 2 - root composer.json require php extension ext-zip * but it is missing from your system. install or enable phps zip extension. problem 3 - root composer.[3.6.0, ..., 3.x-dev]. - squizlabs/php_codesniffer[3.6.0, ..., 3.x-dev]require ext-xmlwrite * -> it is missing from your system. install or enable phps xmlwriter extension. problem 4 - phpunit/phpunit[9.3.3, ..., 9.6.x-dev]require ext-dom * -> it is missing from your system. install or enable phps dom extension. - root composer.json require phpunit/phpunit ^9.3.3 -> satisfiable by phpunit/phpunit[9.3.3, ..., 9.6.x-dev]. To enable extensions, verify that they are enabled in your .ini files: - /etc/php/8.1/cli/php.ini - /etc/php/8.1/cli/conf.d/10-opcache.ini - /etc/php/8.1/cli/conf.d/10-pdo.ini - /etc/php/8.1/cli/conf.d/20-calendar.ini - /etc/php/8.1/cli/conf.d/20-ctype.ini - /etc/php/8.1/cli/conf.d/20-curl.ini - /etc/php/8.1/cli/conf.d/20-exif.ini - /etc/php/8.1/cli/conf.d/20-fi.ini - /etc/php/8.1/cli/conf.d/20-fileinfo.ini - /etc/php/8.1/cli/conf.d/20-ftp.ini - /etc/php/8.1/cli/conf.d/20-gettext.ini - /etc/php/8.1/cli/conf.d/20-iconv.ini - /etc/php/8.1/cli/conf.d/20-phar.ini - /etc/php/8.1/cli/conf.d/20-posix.ini - /etc/php/8.1/cli/conf.d/20-readline.ini - /etc/php/8.1/cli/conf.d/20-shmop.ini - /etc/php/8.1/cli/conf.d/20-sockets.ini - /etc/php/8.1/cli/conf.d/20-sysvmsg.ini - /etc/php/8.1/cli/conf.d/20-sysvsem.ini - /etc/php/8.1/cli/conf.d/20-sysvshm.ini - /etc/php/8.1/cli/conf.d/20-tokenizer.ini You can also run `php --ini` in a terminal to see which files are used by php in CLI mode. alternatively, you can run composer with `--ignore-platform-req=ext-xml --ignore-platform-req=ext-zip --ignore-platform-req=ext-xmlwriter --ignore-platform-req=ext-dom` to temporarily ignore these required extensions. wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo apt-get install php8.1-xml wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo apt-get install php8.1-zip wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo php compos er.phar install [sudo]Password for wangqiang: Do not run composer as root/super user! See https://getcomposer.org/root for details continue as root/super user[yes]? yes Installing dependencies from lock file (inclusion require-dev) Verifying lock file contents can be installed on current platform. Package operations: 114 installs, 0 updates, 0 removals - downloading brick/math (0.11.0) - downloading PSR/log (2.0.0) - Download PSR/Cache (3.0.0) - Downloading Doctrine/Event-Manager (2.0.0) - downloading doctrine/deprecations (v1.1.0) - downloading doctrine/cache (2.2.0) - downloading doctrine/dbal (3.6.2) - downloading doctrine/lexer (1.2.3) - downloading symfony/polyfill-ctype (v1.27.0) - downloading webmozart/assert (1.11.0) - downloading dragonmantank/cron-expression (v3.3.2) - downloading symfony/polyfill-php80 (v1.27.0) - downloading symfony/polyfill-mbstring (v1.27.0) - downloading symfony/var-dumper (v5.4.24) - downloading symfony/polyfill-intl-normalizer (v1.27.0) - downloading symfony/polyfill-intl-graphe (v1.27.0) - downloading symfony/string (v6.3.0) - downloading symfony/deprecation-contracts (v3.3.0) - downloading PSR/Container (1.1.2) - downloading symfony/service-contracts (v2.5.2) - downloading symfony/polyfill-php73 (v1.27.0) - downloading symfony/console (v5.4.24) - downloading monolog/monolog (2.9.1) - downloading voku/portable-ascii (1.6.1) - downloading phpooption/phpooption (1.9.1) - downloading graham-campbell/result-type (v1.1.1) - downloading vlucas/phpdotenv (v5.5.0) - Downloading Symfony/CSS-Selector (v6.3.0) - downloading tijsverkoyen/css-to-inline-styles (2.2.6) - downloading symfony/routing (v5.4.22) - downloading symfony/process (v5.4.24) - downloading symfony/polyfill-php72 (v1.27.0) - downloading symfony/polyfill-intl-idn (v1.27.0) - downloading symfony/mime (v5.4.23) - downloading symfony/http-foundation (v5.4.24) - Download PSR/Event-Dispatcher (1.0.0) - downloading symfony/event-dispatcher-contracts (v3.3.0) - downloading symfony/event-dispatcher (v6.3.0) - downloading symfony/error-handler (v5.4.24) - downloading symfony/http-kernel (v5.4.24) - downloading symfony/finder (v5.4.21) - downloading symfony/polyfill-iconv (v1.27.0) - downloading egulias/email-validator (2.1.25) - Downloading SwiftMailer/SwiftMailer (v6.3.0) - Downloading Ramsey/Collection (2.0.0) - downloading ramsey/uuid (4.7.4) - downloading PSR/simple-cache (1.0.1) - Downloading OPIS/Closure (3.6.3) - downloading symfony/translation-contracts (v3.3.0) - downloading symfony/translation (v6.3.0) - Download Nesbot/Carbon (2.67.0) - Downloading League/MIME-Type-detection (1.11.0) - Downloading League/FlySystem (1.1.10) - Downloading nette/utils (v4.0.0) - Downloading nette/schema (v1.2.3) - downloading dflydev/dot-access-data (v3.0.2) - Downloading League/Config (v1.2.0) - Downloading League/CommonMark (2.4.0) - downloading laravel/serializable-closure (v1.3.0) - Downloading Doctrine/Inflector (2.0.6) - Downloading Laravel/Framework (v8.83.27) - Download Facade/Ignition-Contracts (1.0.2) - downloading facade/flare-client-php (1.10.0) - Download Facade/Ignition (2.17.7) - downloading fakerphp/faker (v1.22.0) - downloading fideloper/proxy (4.4.2) - downloading fruitcake/php-cors (v1.2.0) - Downloading fruitcake/Laravel-cors (v3.0.0) - downloading guzzlehttp/promises (2.0.0) - downloading symfony/yaml (v6.3.0) - Download Laravel/Sail (v1.22.0) - Download Nikic/PHP-Parser (v4.15.5) - Downloading PSY/PSYSH (v0.11.18) - Downloading Laravel/Tinker (v2.8.1) - downloading hamcrest/hamcrest-php (v2.0.1) - downloading mockery/mockery (1.5.1) - downloading filp/whoops (2.15.2) - downloading nunomaduro/collision (v5.11.0) - downloading sebastian/version (3.0.2) - downloading sebastian/type (3.2.1) - downloading sebastian/resource-operations (3.0.3) - downloading sebastian/recursion-context (4.0.5) - downloading sebastian/object-reflector (2.0.4) - downloading sebastian/object-enumerator (4.0.4) - downloading sebastian/global-state (5.0.5) - downloading sebastian/exporter (4.0.5) - downloading sebastian/environment (5.1.5) - downloading sebastian/diff (4.0.5) - Downloading Sebastian/Comparator (4.0.8) - downloading sebastian/code-unit (1.0.8) - downloading sebastian/cli-parser (1.0.1) - downloading phpunit/php-timer (5.0.3) - downloading phpunit/php-text-template (2.0.4) - downloading phpunit/php-invoker (3.1.1) - downloading phpunit/php-file-iterator (3.0.6) - downloading theseer/tokenizer (1.2.1) - downloading sebastian/lines-of-code (1.0.3) - Downloading Sebastian/Complexity (2.0.2) - downloading sebastian/code-unit-reverse-lookup (2.0.3) - downloading phpunit/php-code-coverage (9.2.26) - downloading phar-io/version (3.2.1) - Downloading Phar-IO/Manifest (2.0.3) - downloading myclabs/deep-copy (1.11.1) - Downloading Doctrine/Instantiator (2.0.0) - downloading phpunit/phpunit (9.6.8) - Downloading PSR/HTTP-Message (1.1) - downloading PSR/HTTP-factory (1.0.2) - Download raluphie/GetAllHeaders (3.0.3) - Download PSR/HTTP-Client (1.0.2) - downloading guzzlehttp/psr7 (2.5.0) - downloading guzzlehttp/guzzle (7.7.0) - downloading firebase/php-jwt (v6.5.0) - Download Shopify/Shopify-API (v5.0.0) - downloading squizlabs/php_codesniffer (3.7.2) - Installing Brick/Math (0.11.0): Extracting Archive - Installing PSR/Log (2.0.0): Extracting Archive - Installing PSR/Cache (3.0.0): Extracting Archive - Installing Doctrine/Event-Manager (2.0.0): Extracting Archive - Installing Doctrine/Deprecations (v1.1.0): Extracting Archive - Installing Doctrine/Cache (2.2.0): Extracting Archive - Installing Doctrine/DBAL (3.6.2): Extracting Archive - Installing Doctrine/Lexer (1.2.3): Extracting Archive - Installing symfony/polyfill-ctype (v1.27.0): extracting archive - Installing WebMozart/Assert (1.11.0): Extracting Archive - Installing DragonMantank/cron-expression (v3.3.2): Extracting Archive - Installing symfony/polyfill-php80 (v1.27.0): extracting archive - Installing symfony/polyfill-mbstring (v1.27.0): Extracting Archive - Installing symfony/var-dumper (v5.4.24): Extracting Archive - Installing symfony/polyfill-intl-normalizer (v1.27.0): Extracting Archive - Installing symfony/polyfill-intl-graphe (v1.27.0): Extracting Archive - Installing symfony/string (v6.3.0): Extracting Archive - Installing symfony/deprecation-contracts (v3.3.0): extracting archives - Installing PSR/Container (1.1.2): Extracting Archive - Installing symfony/service-contracts (v2.5.2): extracting archive - Installing symfony/polyfill-php73 (v1.27.0): extracting archive - Installing symfony/console (v5.4.24): Extracting Archive - Installing Monolog/Monolog (2.9.1): Extracting Archive - Installing voku/portable-ascii (1.6.1): Extracting Archive -Installing phpooption/phpoption (1.9.1): Extracting Archive - Installing grad-campbell/result-type (v1.1.1): Extracting Archive - Installing vlucas/phpdotenv (v5.5.0): Extracting Archive - Installing symfony/css-selector (v6.3.0): Extracting Archive -Installing tijsverkoyen/css-to-inline-styles (2.2.6): Extracting Archive - Installing symfony/routing (v5.4.22): Extracting Archive - Installing Symfony/Process (v5.4.24): Extracting Archive - Installing symfony/polyfill-php72 (v1.27.0): extracting archive - Installing symfony/polyfill-intl-idn (v1.27.0): Extracting Archive - Installing symfony/MIME (v5.4.23): Extracting Archive - Installing symfony/http-foundation (v5.4.24): Extracting Archive - Installing PSR/Event-Dispatcher (1.0.0): Extracting Archive - Installing symfony/event-dispatcher-contracts (v3.3.0): Extracting Archive - Installing Symfony/Event-Dispatcher (v6.3.0): Extracting Archive - Installing symfony/error-handler (v5.4.24): extracting archive - Installing symfony/http-kernel (v5.4.24): Extracting Archive - Installing symfony/finder (v5.4.21): Extracting Archive - Installing symfony/polyfill-iconv (v1.27.0): Extracting Archive - Installing egulias/email-validator (2.1.25): Extracting Archive - Installing SwiftMailer/SwiftMailer (v6.3.0): Extracting Archive - Installing Ramsey/Collection (2.0.0): Extracting Archive - Installing Ramsey/UUID (4.7.4): Extracting Archive - Installing PSR/simple-cache (1.0.1): Extracting Archive - Installing OPIS/Closure (3.6.3): Extracting Archive -Installing symfony/translation-contracts (v3.3.0): Extracting Archive - Installing symfony/translation (v6.3.0): Extracting Archive - Installing Nesbot/Carbon (2.67.0): Extracting Archive - Installing League/MIME-Type-detection (1.11.0): Extracting Archive - Installing League/FlySystem (1.1.10): Extracting Archive - Installing nette/utils (v4.0.0): Extracting Archive - Installing nette/schema (v1.2.3): Extracting Archive - Installing dflydev/dot-access-data (v3.0.2): extracting archive - Installing League/Config (v1.2.0): Extracting Archive - Installing League/CommonMark (2.4.0): Extracting Archive - Installing Laravel/Serializable-Closure (v1.3.0): Extracting Archive - Installing Doctrine/Inflector (2.0.6): Extracting Archive - Installing Laravel/Framework (v8.83.27): Extracting Archive - Installing Facade/Ignition-Contracts (1.0.2): Extracting Archive - Installing facade/flare-client-php (1.10.0): Extracting Archive - Installing Facade/Ignition (2.17.7): Extracting Archive - Installing FakerPHP/Faker (v1.22.0): Extracting Archive - Installing Fideloper/Proxy (4.4.2): Extracting Archive - Installing fruitcake/php-cors (v1.2.0): Extracting Archive - Installing fruitcake/Laravel-cors (v3.0.0): Extracting Archive - Installing GuzzleHttp/Promises (2.0.0): Extracting Archive - Installing symfony/YAML (v6.3.0): Extracting Archive - Installing Laravel/Sail (v1.22.0): Extracting Archive - Installing Nikic/PHP-Parser (v4.15.5): Extracting Archive - Installing PSY/PSYSH (v0.11.18): Extracting Archive - Installing Laravel/Tinker (v2.8.1): Extracting Archive - Installing Hamcrest/Hamcrest-php (v2.0.1): Extracting Archive - Installing mockery/mockery (1.5.1): Extracting Archive - Installing FILP/WHOOPS (2.15.2): Extracting Archive - Installing NUNOMADURO/COLLISION (v5.11.0): Extracting Archive - Installing Sebastian/Version (3.0.2): Extracting Archive - Installing Sebastian/Type (3.2.1): Extracting Archive - Installing Sebastian/Resource-Operations (3.0.3): Extracting Archive - Installing Sebastian/Recursion-Context (4.0.5): Extracting Archive - Installing Sebastian/Object-Reflector (2.0.4): Extracting Archive - Installing Sebastian/Object-Enumerator (4.0.4): Extracting Archive - Installing Sebastian/Global-State (5.0.5): Extracting Archive - Installing Sebastian/Exporter (4.0.5): Extracting Archive - Installing Sebastian/Environment (5.1.5): Extracting Archive - Installing Sebastian/Diff (4.0.5): Extracting Archive - Installing Sebastian/Comparator (4.0.8): Extracting Archive - Installing Sebastian/Code-Unit (1.0.8): Extracting Archive - Installing sebastian/cli-parser (1.0.1): Extracting Archive - Installing phpunit/php-timer (5.0.3): Extracting Archive -Installing phpunit/php-text-template (2.0.4): extracting archive - Installing phpunit/php-invoker (3.1.1): Extracting Archive - Installing phpunit/php-file-iterator (3.0.6): extracting archive - Installing theseer/Tokenizer (1.2.1): Extracting Archive - Installing Sebastian/Lines-of-Code (1.0.3): Extracting Archive - Installing Sebastian/Complexity (2.0.2): Extracting Archive - Installing sebastian/code-unit-reverse-lookup (2.0.3): Extracting Archive - Installing phpunit/php-code-coverage (9.2.26): extracting archive - Installing Phar-IO/Version (3.2.1): Extracting Archive - Installing Phar-io/Manifest (2.0.3): Extracting Archive - Installing myclabs/deep-copy (1.11.1): extracting archive - Installing Doctrine/Instantiator (2.0.0): Extracting Archive - Installing phpunit/phpunit (9.6.8): Extracting Archive - Installing PSR/Http-Message (1.1): Extracting Archive - Installing PSR/HTTP-Factory (1.0.2): Extracting Archive - Installing Ralouchie/GetAllHeaders (3.0.3): Extracting Archive - Installing PSR/Http-Client (1.0.2): Extracting Archive - Installing GuzzleHttp/PSR7 (2.5.0): Extracting Archive - Installing guzzlehttp/guzzle (7.7.0): Extracting Archive - Installing firebase/php-jwt (v6.5.0): Extracting Archive - Installing Shopify/Shopify-API (v5.0.0): Extracting Archive -Installing squizlabs/php_codesniffer (3.7.2): Extracting Archive Package fruitcake/Laravel-cors is abandoned, you should avoid using it. No replacement was suggested. Package SwiftMailer/SwiftMailer is bandoned, you should avoid using it. Use symfony/mailer instead. GENERATING OPTIMIZED AUTOLOAD FILES > Illuminate\Foundation\ComposerScripts::PostAutoLoadDump > @php artisan package:discover --ansi Discovered Package: Facade/Ignition Discovered Package: FideLoper/Proxy Discovered Package: Fruitcake/Laravel-Cors Discovered Package: Laravel/Sail Discovered Package: Laravel/Tinker Discovered Package: Nesbot/Carbon Discovered Package: NUNOMADURO/COLLISION Package manifested successfully. 81 packages you are using are looking for funding. Use the `Composer Fund` command to find out more!
10. Install mysql, refer to:Enter the database
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo apt install mysql-server wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ mysql --version mysql ver 8.0.33-0ubuntu0.20.04.2 for linux on x86_64 ((ubuntu)) wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo mysql Error 2002 (HY000): CANT connect to local mysql server through socket/var/run/mysqld/mysqld.sock(2) wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo /etc/init.d/mysql start * Starting mysql database server mysqld su: warning: cannot change directory to /nonexistent: no such file or directory [ OK ] wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo mysql Welcome to the mysql monitor. Commands end with ; or \g. Your MySQL Connection ID Is 10 Server version: 8.0.33-0ubuntu0.20.04.2 (ubuntu) Copyright (C) 2000, 2023, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its Affiliates. Other names may be trademarks of their review owners. typehelp;Or\hfor help. type\cTo clear the current input statement. mysql> show databases; +-------------------+ | Database | +-------------------+ | information_schema | | mysql | | performance_schema | | sys | +-------------------+ 4 rows in set (0.01 sec) mysql> create database learn_php_app_ubuntu_2004_0602; Query OK, 1 Row Affected (0.01 sec) mysql> show databases; +------------------------------ | Database | +------------------------------ | information_schema | | learn_php_app_ubuntu_2004_0602 | | mysql | | performance_schema | | sys | +------------------------------ 5 rows in set (0.00 sec) mysql>
11. Edit .env
app_name="shopify php app ubuntu-20.04" app_env=local app_key= app_debug=true log_channel=stack log_level=debug db_connection=mysql DB_HOST=127.0.0.1 DB_PORT=3306 db_database=learn_php_app_ubuntu_2004_0602 DB_USERNAME= db_password=
12. An error is reported when executing the database migration command: access denied for useratlocalhost(using password: no)
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ php artisan migrate
ILUMINATE\Database\QueryException
sqlstate[HY000][1045]access denied for useratlocalhost(using password: no) (sql: select * from information_schema.tables where table_schema = learn_php_app_ubuntu_2004_0602 and table_name = migrations and table_type =base table)
at vendor/laravel/framework/src/illuminate/database/connection.php:712
708▕ // If an exception occurred when attempting to run a query, weLL format the error
709▕ // Message to include the bindings with SQL, which will make this exception A
710▕ // Lot more helpful to the developer instead of just the databases errors.
711▕ catch (exception $e) {
➜ 712▕ Throw New QueryException(
713▕ $Query, $this->preparebindings($bindings), $E
714▕ );
715▕ }
716▕ }
+33 vendor frames
34 Artisan: 37
IlluMinate\Foundation\Console\Kernel::Handle()
13. Start the security script prompt: sudo mysql_secure_installation, prompt when setting the password: Failed! Error: set password has no signification for userrootatlocalhostAs the authentication method used doesn’tT store authentication data in the mysql server.
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ sudo mysql_secure_installation Securing the MySQL Server Deployment. Connecting to mysql using a blank password. thevalidate_passwordcomponent is installed on the server. The subsequent steps will run with the existing configuration of the component. Please set the password for root here. New Password: Re-Enter New Password: Estimated strength of the password: 100 Do you wish to continue with the password provided? ... Failed! Error: set password has no signification for userrootatlocalhostAs the authentication method used doesn'tT store authentication data in the mysql server. Please consider using alter user instead if you want to change authentication parameters.
14. Execute: sudo cat /etc/mysql/debian.cnf, use the username and password in the file to reset the .env, and the execution of the database migration is successful
app_name="shopify php app ubuntu-20.04" app_env=local app_key=base64:yfa6cccsstz4d0u62fbrcmehnoex9q9bm5onqjnaxdeu= app_debug=true log_channel=stack log_level=debug db_connection=mysql DB_HOST=127.0.0.1 DB_PORT=3306 db_database=learn_php_app_ubuntu_2004_0602 DB_USERNAME=debian-sys-maint db_password=ngwmlgjjxnsnhm7t
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602/web$ php artisan migrate Migration Table Created Successfully. Migrating: 2019_08_19_000000_create_failed_jobs_table Migrated: 2019_08_19_000000_Create_failed_jobs_table (106.88ms) Migrating: 2021_05_03_050717_create_sessions_table migrated: 2021_05_03_050717_create_sessions_table (45.18ms) Migrating: 2021_05_05_071311_add_scope_expires_access_token_to_sessions migrated: 2021_05_05_071311_add_scope_expires_access_token_to_sessions (27.42ms) Migrating: 2021_05_11_151158_add_online_access_info_to_sessions migrated: 2021_05_11_151158_add_online_access_info_to_sessions (23.57ms) Migrating: 2021_05_17_152611_change_sessions_user_id_type migrated: 2021_05_17_152611_change_sessions_user_id_type (630.37ms)
15. Start the local server, go back to the root directory, and execute: npm run dev, and report an error. It is suspected that the problem caused by the completeness of step 3 is not executed. Because there is no prompt in step 3: Success
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602$ npm run dev
> learn-php-app-ubuntu-2004-0602@1.0.0 dev
> Shopify App Dev
? command `app dev` not found. did you mean `theme dev`?
✔ YES, CONFIRM
╭─ Error ──────────────────────── ────────────────────────
│ │
│ a store is required │
│ │
│ specific the store passing --store={your_store_url} or set the │
│ shopify_flag_store environment variable. │
│ │
╰────────────────────────── ───────────────────────────
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0602$
16. Create a new application from scratch: learn-php-app-ubuntu-2004-0605, you need to wait patiently for a period of time, and don’t stop it in the middle. as shown in Figure 1
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app$ sudo npm init @shopify/app@latest Welcome. Let's get started by naming your app project. You can change it later. ? your app project name? ✔ Learn-php-app-ubuntu-2004-0605 ? Which template would you like to use? ✔ PHP ╭─ Success ────────────────────────────────────────────── │ │ │ learn-php-app-ubuntu-2004-0605 is ready for you to build! │ │ │ │ Next steps │ │ • Run `CD Learn-php-app-ubuntu-2004-0605` │ │ • for extensions, run `npm run generate extension` │ │ • To see your app, run `npm run dev` │ │ │ │ Reference │ │ • Shopify Docs[1]│ │ • for an overview of commands, run `npm run Shopify app -- --help` │ │ │ ╰────────────────────────── ─────────────────────────── [1]https://shopify.dev
17. Start the operation again from step 4, some steps can be skipped. Execute step 15 and report an error: to investigate the issue, exit this stack trace. You can do it again. Enter the installation application. as shown in Figure 2
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0605$ composer -v
composer version 2.5.5 2023-03-21 11:50:05
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0605/web$ composer install
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0605/web$ cp .env.example .env
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0605/web$ php artisan key:generate
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0605/web$ php artisan migrate
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0605$ npm run dev
> learn-php-app-ubuntu-2004-0605@1.0.0 dev
> Shopify App Dev
To run this command, log in to Shopify Partners.
👉Press any key to open the login page on your browser
Auto-open timed out. http://accounts.shopify.com/oauth/authorize?client_id=fbdb2649-e327-4907-8f67-908d24 cfd7e3&scope=openid+https%3a%2f%2fapi.shopify.com%2fauth%2fshop.admin.graphql+htt ps%3a%2f%2fapi.shopify.com%2fauth%2fshop.admin.themes+https%3a%2f%2fapi.shopify.com% 2fauth%2fpartners.collaborator-relationships.readonly+https%3a%2f%2fapi.shopify.com%2 fauth%2fshop.storefront-renderer.devtools+https%3a%2f%2fapi.shopify.com%2fauth%2fpar tners.app.cli.access&redirect_uri=http%3a%2f%2f127.0.0.1%3a3456&state=5cba673 2FE773FAC2A7E9A95DDF3AB686B3A9B7231168D58F 339f17dcaa1&response_type=code&code _Challenge_method=s256&code_challenge=gozz6hqqiozwydzxuxux2raougparz9a8guluoc6wy6vw )
✔ Logged in.
Looks like this is the first time youRe running dev for this project.
Configure your preferences by answering a few questions.
Before you preview your work, it needs to be associated with an app.
? Create this project as a new app on shopify?
✔ Yes, create it as a new app
? App name:
✔ Learn-php-app-ubuntu-2004-0605
✔ using your default dev store (ShuiJingwanwq-development) to preview your project.
╭─ Error ──────────────────────── ────────────────────────
│ │
│ │
│ to investigate the issue, exit this stack trace: │
│ at polltunnelstatus (@shopify/app/src/cli/services/dev/urls.ts:106) │
│ if (result.status ===Error) return reject(new │
│ BUGERROR(result.message)) │
│ AT (@shopify/app/src/cli/services/dev/urls.ts:120) │
│ polltunnelstatus() │
│ at new promise │
│ at polltunnelURL (@shopify/app/src/cli/services/dev/urls.ts:101) │
│ return new promise<string>(((resolve, reject) => { │
│ at GenerateFrontendURL (@shopify/app/src/cli/services/dev/urls.ts:89) │
│ const url = await polltunnelURL(options.tunnelclient) │
│ at dev (@shopify/app/src/cli/services/dev.ts:121) │
│ GenerateFrontendUrl({ │
│ at run (@shopify/app/src/cli/commands/app/dev.ts:106) │
│ await dev({ │
│ │
╰────────────────────────── ───────────────────────────
wangqiang@desktop-qlpk8qm:/mnt/e/wwwroot/shopify-app/learn-php-app-ubuntu-2004-0605$ npm run dev
> learn-php-app-ubuntu-2004-0605@1.0.0 dev
> Shopify App Dev
╭─ info ──────────────────────── ────────────────────────
│ │
│ using your previous dev settings: │
│ │
│ • Org: Wang Qiang │
│ • App: learn-php-app-ubuntu-2004-0605 │
│ • Dev Store: shuijingwanwq-development.myshopify.com │
│ • Update Urls: Not yet configured │
│ │
│ to reset your default dev config, run `npm run dev -- --reset` │
│ │
╰────────────────────────── ───────────────────────────
? have shopify automatically update your appS url in order to create a preview experience?
✔ Always by Default
2023-06-06 01:51:12 │ frontend │
2023-06-06 01:51:12 │ frontend │ > Shopify-Frontend-Template-react@1.0.0 dev
2023-06-06 01:51:12 │ Frontend │ > vite
2023-06-06 01:51:12 │ frontend │
2023-06-06 01:51:18 │ backend │ > composer\config::disableProcessTimeout
2023-06-06 01:51:18 │ backend │ > php artisan serve
2023-06-06 01:51:20 │ frontend │
2023-06-06 01:51:20 │ Frontend │ VITE v4.3.9 Ready in 7780 MS
2023-06-06 01:51:20 │ frontend │
2023-06-06 01:51:20 │ Frontend │ ➜ Local: http://localhost:33597/
2023-06-06 01:51:26 │ Backend │ Starting Laravel Development Server: http://127.0.0.1:44681
2023-06-06 01:51:27 │ backend │[Tue Jun 6 09:51:26 2023]PHP 8.1.18 Development Server (http://127.0.0.1:44681) Started
2023-06-06 01:51:47 │ backend │[Tue Jun 6 09:51:47 2023]127.0.0.1:34304 Accepted
2023-06-06 01:51:54 │ backend │[Tue Jun 6 09:51:54 2023]127.0.0.1:34304 Closing
2023-06-06 01:51:54 │ backend │[Tue Jun 6 09:51:54 2023]127.0.0.1:34310 Accepted
2023-06-06 01:51:56 │ backend │[Tue Jun 6 09:51:56 2023]127.0.0.1:34310 Closing
2023-06-06 01:53:17 │ backend │[Tue Jun 6 09:53:17 2023]127.0.0.1:34320 Accepted
2023-06-06 01:53:22 │ backend │[Tue Jun 6 09:53:22 2023]127.0.0.1:34320 Closing
2023-06-06 01:53:22 │ backend │[Tue Jun 6 09:53:22 2023]127.0.0.1:34326 Accepted
2023-06-06 01:53:26 │ backend │[Tue Jun 6 09:53:25 2023]127.0.0.1:34326 Closing
› Press P │ Preview in your browser
› Press Q │ Quit
Preview URL: https://instructional-attend-excellent-gig.tryCloudFlar e.com?shop=shuijingwanwq-development.myshopify.com&h
OST=C2H1AWPPBMD3YW53CS1KZXZLBG9WWWVUDC5TexNOB3BPZNKUY29TL2FKBWLU
18. Error when installing the application: Shopify\Exception\CookieNotFoundException could not find the current session id in the cookies. as shown in Figure 3
19. Run again: npm run dev, open the browser, no more errors. as shown in Figure 4



