Hallo,
Welches CLI Befehl soll ich nutzen, wenn ich eine neue js Datei im plugin erstellt habe oder Änderungen mache ? bei shopware 5 war einfach übers backend kompilieren. wie ist das bei shopware 6 ? Ich weiss nur, dass bei scss Änderungen nutzt man theme:compile, wie ist das denn bei js Änderungen ? Danke
./bin/build-storefront.sh
Hallo @Max_Shop , ich bekomme folgende Antwort im ssh , ist das so korrekt ? danke.
ssh-w0119997@dd38202:/www/htdocs/w0119997/exampleshop.com$ php74 ./bin/build-storefront.sh
CWD="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)"
export PROJECT_ROOT="${PROJECT_ROOT:-"$(dirname "$CWD")"}"
STOREFRONT_ROOT="${STOREFRONT_ROOT:-"${PROJECT_ROOT}/vendor/shopware/storefront"}"
BIN_TOOL="${CWD}/console"
if [[ ${CI} ]]; then
BIN_TOOL="${CWD}/ci"
chmod +x "$BIN_TOOL"
fi
# build storefront
[[ ${SHOPWARE_SKIP_BUNDLE_DUMP} ]] || "${BIN_TOOL}" bundle:dump
if [[ $(command -v jq) ]]; then
OLDPWD=$(pwd)
cd "$PROJECT_ROOT" || exit
jq -c '.[]' "var/plugins.json" | while read -r config; do
srcPath=$(echo "$config" | jq -r '(.basePath + .storefront.path)')
# the package.json files are always one upper
path=$(dirname "$srcPath")
name=$(echo "$config" | jq -r '.technicalName' )
if [[ -f "$path/package.json" && ! -f "$path/node_modules" && $name != "storefront" ]]; then
echo "=> Installing npm dependencies for ${name}"
if [[ -f "$path/package-lock.json" ]]; then
npm clean-install --prefix "$path"
else
npm install --prefix "$path"
fi
fi
done
cd "$OLDPWD" || exit
else
echo "Cannot check extensions for required npm installations as jq is not installed"
fi
npm --prefix "${STOREFRONT_ROOT}"/Resources/app/storefront clean-install
node "${STOREFRONT_ROOT}"/Resources/app/storefront/copy-to-vendor.js
npm --prefix "${STOREFRONT_ROOT}"/Resources/app/storefront run production
[[ ${SHOPWARE_SKIP_ASSET_COPY} ]] ||"${BIN_TOOL}" asset:install
[[ ${SHOPWARE_SKIP_THEME_COMPILE} ]] || "${BIN_TOOL}" theme:compile
Nein.
Du musst es als SH ausführen, nicht per PHP.
./bin/build-storefront.sh
oder
sh ./bin/build-storefront.sh
das php47 steht nur für die phpversion, wenn ich ohne php47 das ausführen möchte, dann bekomme ich folgende Fehlermeldung.
Your cli is running PHP version 7.2.34-nmm4 but Shopware 6 requires at least PHP 7.4.0
Cannot check extensions for required npm installations as jq is not installed
./bin/build-storefront.sh: line 44: npm: command not found
./bin/build-storefront.sh: line 45: node: command not found
./bin/build-storefront.sh: line 46: npm: command not found
Your cli is running PHP version 7.2.34-nmm4 but Shopware 6 requires at least PHP 7.4.0
Your cli is running PHP version 7.2.34-nmm4 but Shopware 6 requires at least PHP 7.4.0
also ich muss php47 am anfang schreiben um den Befehl ausführen zu können
Wenn du php am Anfang schreibst, dann wird die Datei mit php ausgeführt. Es ist aber eine sh Datei und muss entsprechend mit sh ausgeführt werden.
Einfach die CLI auf php 7.4 umstellen.
@Max_Shop Das habe ich gemacht, ich bekomme folgende Respond
ssh-w0119997@dd38202:/www/htdocs/w0119997/orderandfriends.com$ sh ./bin/build-storefront.sh
[OK] Dumped plugin configuration.
Cannot check extensions for required npm installations as jq is not installed
./bin/build-storefront.sh: line 44: npm: command not found
./bin/build-storefront.sh: line 45: node: command not found
./bin/build-storefront.sh: line 46: npm: command not found
Copying files for bundle: FrameworkBundle
Copying files for bundle: MonologBundle
Copying files for bundle: SensioFrameworkExtraBundle
Copying files for bundle: TwigBundle
Copying files for bundle: WebProfilerBundle
Copying files for bundle: DebugBundle
Copying files for bundle: EnqueueBundle
Copying files for bundle: EnqueueAdapterBundle
Copying files for bundle: Framework
Copying files for bundle: System
Copying files for bundle: Content
Copying files for bundle: Checkout
Copying files for bundle: Profiling
Copying files for bundle: Administration
Copying files for bundle: Storefront
Copying files for bundle: Elasticsearch
Copying files for bundle: Maintenance
Copying files for bundle: SwagLanguagePack
Copying files for bundle: SwagPayPal
Copying files for bundle: SwagMarkets
Copying files for bundle: KlarnaPayment
Copying files for bundle: SwagAmazonPay
Copying files for bundle: SwagExtensionStore
Copying files for bundle: iwaveNeusichtTheme
Copying files for bundle: gstaSlimFooter
Copying files for bundle: TwpStarterPack
Copying files for bundle: DbalKernelPluginLoader
Copying files for bundle: Recovery
[OK] Successfully copied all bundle files
Start theme compilation
Compiling theme for sales channel for : 41b14ab6bbc7427c8100fabbfaedb19a
! [NOTE] Took 2.148603 seconds
ssh-w0119997@dd38202:/www/htdocs/w0119997/orderandfriends.com$
ganz oben steht aber
Cannot check extensions for required npm installations as jq is not installed ./bin/build-storefront.sh: line 44: npm: command not found ./bin/build-storefront.sh: line 45: node: command not found ./bin/build-storefront.sh: line 46: npm: command not found
ist das einproblem oder normal ? Danke
Wie es aussieht ist kein node und npm auf deinem Server installiert. Das wird vermutlich das kompilieren der js verhindern. Entsprechend wird die Änderungen des JS-Codes auch vermutlich nicht im Frontend sichtbar sein.
Bin mir nicht ganz sicher ob es die einzige Möglichkeit ist, aber du musst dir eine (lokal) Umgebung suchen in der node und npm verfügbar sind um entsprechenden kompilierte js zu erhalten.