PHP Compositeur - jeu de vendeur de répertoire
Je vais avoir des difficultés à configurer le fournisseur de chemin d'accès pour un Yii2 application. Je suis l'ajout d'un couple de lignes pour le compositeur.fichier json-je obtenir de l'Yii2 d'application de base de modèle. Tout ce que je veux faire est de changer l'emplacement de mon fournisseur actifs.
- Dessous sont les modifications que j'ai effectuées dans les fichiers, mais j'ai cette erreur:
The file or directory to be published does not exist: /path/to/app/vendor/bower/jquery/dist
Mais je m'attends à ce que d'actif devant être publié à:
/path/to/vendors/bower/jquery/dist
Peu importe ce que je fais, je reçois toujours ce message d'erreur. Je soupçonne que c'est une Yii2 question et pas un compositeur de la question, mais je ne suis pas sûr. Quelqu'un a des idées? Merci à l'avance.
Fichiers...
index.php
//comment out the following two lines when deployed to production
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
require('/path/to/vendors/autoload.php');
require('/path/to/vendors/yiisoft/yii2/Yii.php');
$config = require(__DIR__ . '/../config/web.php');
(new yii\web\Application($config))->run();
compositeur.json
{
"name": "yiisoft/yii2-app-basic",
"description": "Yii 2 Basic Project Template",
"keywords": ["yii2", "framework", "basic", "project template"],
"homepage": "http://www.yiiframework.com/",
"type": "project",
"license": "BSD-3-Clause",
"support": {
...
},
"minimum-stability": "dev",
"config": {
"process-timeout": 1800,
"vendor-dir": "/path/to/vendors"
},
"require": {
"fxp/composer-asset-plugin": "~1.0",
...
},
"extra": {
"asset-installer-paths": {
"npm-asset-library": "../../includes/vendors/npm",
"bower-asset-library": "../../includes/vendors/bower"
}
}
}
OriginalL'auteur Mr Goobri | 2015-04-05
Vous devez vous connecter pour publier un commentaire.
S'avère qu'il y est une il y a une solution simple: Si vous souhaitez modifier l'emplacement de votre fournisseur de biens ensuite, vous devez suivre ces étapes simples:
inclure le compositeur-actif-plugin dans votre
composer.json
fichierinclure le compositeur-actif-plugin directive dans votre config. dans votre compositeur.fichier json:
ajouter l'emplacement de vendeur à la section de configuration dans votre compositeur.fichier json:
mise à jour web/index.php pour pointer vers le nouvel emplacement de vendeur:
comprennent un vendorPath définition dans votre config/web.php:
Qui devrait fonctionner avec la vanille Yii2 modèle de base.
J'ai eu l'actif-plugin, mais de l'amener jusqu'à la dernière version fixe mes questions.
OriginalL'auteur Mr Goobri
Cela fonctionne pour moi:
Il suffit de copier tous les fichiers et dossiers à partir de la charmille-actif de la charmille.
OriginalL'auteur uglovvic uglovvic
La
des actifs de l'installateur-chemins
de la directive appartient au Compositeur pluginfxp/composer-asset-plugin
.Le plugin est requis, par la présente directive pour le travail. Mais il semble que vous n'êtes pas exigeant dans votre projet de rachat ou à l'échelle mondiale.
Essayer une installation globale:
Docu - Installation
"fxp/composer-asset-plugin": "~1.0"
à mon besoin, et j'ai essayé"fxp/composer-asset-plugin": "*"
- ni travaillé; je reçois la même erreur.Ok. Avez-vous essayé l'installation par défaut pour yii2-app-base avec les dossiers par défaut? Et dans votre nécessitent l'article que vous avez
"bower-asset/jquery": "2.1.3"
défini, afin d'inclure jQ?Yep. J'ai installé à l'aide des instructions comme par le Yii2 Guide Définitif, et cela fonctionne comme prévu. J'ai juste essayé ajoutant explicitement
"bower-asset/jquery": "2.1.3"
mais c'est implicitement inclus dans mes dépendances: cela ne semble pas changer quoi que ce soit. L'exécution decomposer update
et de la navigation sur le site me donne la même erreur. Le problème est, je pense, que Yii2 est à la recherche dans le mauvais répertoire de l'actif. Le compositeur n'a pas réussi à Yii2.Oui, je pense que, trop. Yii2 aurait à lire la trajectoire personnalisée et l'utiliser comme le basePath pour les actifs dans le d'assetmanager. Cela devrait fonctionner automatiquement, si non, alors c'est une question ou une demande de fonctionnalité. Peut-être qu'il est possible de définir manuellement le chemin d'accès dans le fichier de configuration:
'assetManager' => [ 'bundles' => [ 'jquery.min.js' => '/path/to/jquery/dist/jquery.js', ], ]
. Cela devrait fonctionner, mais est pénible...Ouais je pouvais le faire, et cela fonctionne, mais j'ai dû modifier manuellement chaque plugin que je voudrais utiliser. J'ai compris le problème et y avons répondu ci-dessous. Merci pour votre aide.
OriginalL'auteur Jens A. Koch