Bonjour à tous,
Quelqu'un pourrait m'aider? j'ai ce problème quand je lance composer. Merci d'avance.
In JsonFile.php line 340:
"C:\composer\composer.bat" does not contain valid JSON
Parse error on line 1:
@echo OFF:: in case
^
Expected one of: 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['
J'ai installé via php et ça a installé.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup. php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
Hello,
En regardant l'erreur que tu fournis, je ne comprends pas pourquoi il essaye de charger le script .bat comme un json.
Peux-tu nous indiquer la commande que tu lance ?
Salut,
la commande c'est "composer" tout court
C:\composer
λ composer
In JsonFile.php line 340:
"C:\composer\composer.bat" does not contain valid JSON
Parse error on line 1:
@echo OFF:: in case
^
Expected one of: 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['
le composer.json :
{
"name": "symfony/website-skeleton",
"type": "project",
"license": "MIT",
"description": "A skeleton to start a new Symfony website",
"minimum-stability": "stable",
"prefer-stable": true,
"require": {
"php": ">=7.2.5",
"ext-ctype": "",
"ext-iconv": "",
"symfony/flex": "^1.17|^2"
},
"flex-require": {
"symfony/console": "",
"symfony/dotenv": "",
"symfony/framework-bundle": "",
"symfony/runtime": "",
"symfony/webapp-pack": "",
"symfony/yaml": ""
},
"require-dev": {
},
"config": {
"allow-plugins": {
"composer/package-versions-deprecated": true,
"symfony/flex": true,
"symfony/runtime": true
},
"optimize-autoloader": true,
"preferred-install": {
"": "dist"
},
"sort-packages": true
},
"autoload": {
"psr-4": {
"App\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"App\Tests\": "tests/"
}
},
"replace": {
"symfony/polyfill-ctype": "",
"symfony/polyfill-iconv": "",
"symfony/polyfill-php72": ""
},
"scripts": {
"auto-scripts": [
],
"post-install-cmd": [
"@auto-scripts"
],
"post-update-cmd": [
"@auto-scripts"
]
},
"conflict": {
"symfony/symfony": ""
},
"extra": {
"symfony": {
"allow-contrib": false,
"require": "5.4."
}
}
}
Question bête mais la tu lance la commande composer dans le dossier composer ou se trouve le binaire, mais je suppose que ton projet lui ne se trouve pas ici ? Si c'est le cas alors tu peux le mettre ailleurs tant que ton executable composer est accessible via la liste des dossiers de la variable d'environnement PATH
.
Par contre tu peux vérifier que ton composer.json ressemble à ceci :
{
"name": "symfony/website-skeleton",
"type": "project",
"license": "MIT",
"description": "A skeleton to start a new Symfony website",
"minimum-stability": "stable",
"prefer-stable": true,
"require": {
"php": ">=7.2.5",
"ext-ctype": "*",
"ext-iconv": "*",
"symfony/flex": "^1.17|^2"
},
"flex-require": {
"symfony/console": "*",
"symfony/dotenv": "*",
"symfony/framework-bundle": "*",
"symfony/runtime": "*",
"symfony/webapp-pack": "*",
"symfony/yaml": "*"
},
"require-dev": {
},
"config": {
"allow-plugins": {
"composer/package-versions-deprecated": true,
"symfony/flex": true,
"symfony/runtime": true
},
"optimize-autoloader": true,
"preferred-install": {
"*": "dist"
},
"sort-packages": true
},
"autoload": {
"psr-4": {
"App\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"App\\Tests\\": "tests/"
}
},
"replace": {
"symfony/polyfill-ctype": "*",
"symfony/polyfill-iconv": "*",
"symfony/polyfill-php72": "*"
},
"scripts": {
"auto-scripts": [
],
"post-install-cmd": [
"@auto-scripts"
],
"post-update-cmd": [
"@auto-scripts"
]
},
"conflict": {
"symfony/symfony": "*"
},
"extra": {
"symfony": {
"allow-contrib": false,
"require": "5.4.*"
}
}
}
Surtout avec App\\
(2 anti slash) et pareil pour App\\Tests\\
?
Si ce n'est pas le cas corrige et relance un coup de composer
puis composer install
Alors déjà il faut que tu foutes une *
dans tous les champs vides ""
Ensuite tu lances un composer install, supprimes le composer.lock si il y en a un avant de lancer composer install
Et après ça devrait être bon
D'ailleurs pourquoi ton composer.json est différent de celui que propose symfony ? Symfony skeleton github
Ensuite tu lances un composer install, supprimes le composer.lock si il y en a un avant de lancer composer install
https://hellodear.in