我使用yii2已经有一段时间了,但是我无法思考如何管理我的包。在这方面,我有两个问题。
我该怎么解决这个问题。我为不同的项目安装了许多yii2,每次我似乎都会遇到相同的问题。
这是我的composer.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": {
"issues": "https://github.com/yiisoft/yii2/issues?state=open",
"forum": "http://www.yiiframework.com/forum/",
"wiki": "http://www.yiiframework.com/wiki/",
"irc": "irc://irc.freenode.net/yii",
"source": "https://github.com/yiisoft/yii2"
},
"minimum-stability": "stable",
"require": {
"php": ">=5.4.0",
"yiisoft/yii2": ">=2.0.5",
"yiisoft/yii2-bootstrap": "*",
"yiisoft/yii2-swiftmailer": "*",
"dektrium/yii2-user": "0.9.*@dev"
},
"require-dev": {
"yiisoft/yii2-codeception": "*",
"yiisoft/yii2-debug": "*",
"yiisoft/yii2-gii": "*",
"yiisoft/yii2-faker": "*"
},
"config": {
"process-timeout": 1800
},
"scripts": {
"post-create-project-cmd": [
"yii\\composer\\Installer::postCreateProject"
]
},
"extra": {
"yii\\composer\\Installer::postCreateProject": {
"setPermission": [
{
"runtime": "0777",
"web/assets": "0777",
"yii": "0755"
}
],
"generateCookieValidationKey": [
"config/web.php"
]
},
"asset-installer-paths": {
"npm-asset-library": "vendor/npm",
"bower-asset-library": "vendor/bower"
}
}
}见下面我的AppAsset文件
class AppAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/site.css',
];
public $js = [
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
];
}发布于 2016-01-19 10:56:34
这可以通过覆盖bower包的默认别名路径来存档,即@vendor/bower到@bower/bower/bower-asset。
这可以通过web.php文件在$config=下完成[]
'aliases' => [
'@bower' => '@vendor/bower/bower-asset',
],当你回音
echo Yii::getAlias('@bower');它应该会回音
/Library/WebServer/Documents/project-name/vendor/bower/bower-asset发布于 2016-01-20 05:51:41
我刚才面对这个问题,它把我逼疯了!
解决方案实际上很简单(不是总是这样吗?)--您需要删除编写器公共目录中的fxp目录,并清除编写器缓存-- composer global clearcache --并从全局composer.json中删除fxp插件行并重新要求它。
不管我做了什么,保龄球包都是安装在供应商/保龄球/保龄球资产或其他奇怪的地方。
帮助我的解决方案是摆脱fxp插件并重新要求它。试试看。
Composer的资产插件是错误的,但很有用。
希望这会有帮助!)
编辑:您面临的问题仅仅是Composer资产插件拒绝解析composer.json文件中明确定义的资产安装路径。在我自己的项目中测试了这个行为之后,我创建了一个“香草”基本应用程序,甚至一个高级应用程序:相同的行为。所以,我重新要求/重新安装了资产插件并修复了它。
发布于 2016-01-19 10:19:39
我们就是这样登记战利品资产的。
namespace backend\assets;
use yii\web\AssetBundle;
class BootstrapAsset extends AssetBundle
{
public $sourcePath = '@bower/bootstrap/dist';
public $js = [
'js/bootstrap.min.js',
];
}并将此资产在布局中注册为:
$asset = AppAsset::register($this);
$bootstrap = \backend\assets\BootstrapAsset::register($this);希望这能给你一个提示。
https://stackoverflow.com/questions/34872504
复制相似问题