Yii2 fresh install: vendor/bower/jquery/dist path is wrong

て烟熏妆下的殇ゞ 提交于 2019-12-21 01:57:34

问题


I just installed yii2 (advanced) using composer. I've setup nginx, etc.

But it doesn't work:

Invalid Parameter – yii\base\InvalidParamException

The file or directory to be published does not exist: /srv/www/site/vendor/bower/jquery/dist

In the folder 'vendor/bower' there is the only subfolder 'bower-assets' with 'jquery', etc in it. But no jquery in vendor/bower.

How to solve this issue?


回答1:


Please, refer the installation guide. It seems that you are missing asset plugin:

composer global require "fxp/composer-asset-plugin:~1.2.0"



回答2:


Make sure you have executed this command:

composer global require "fxp/composer-asset-plugin:~1.2.0"

Also, check your composer.json for these followings:

Deprecated, but default option from Yii2:

"extra": {
    "asset-installer-paths": {
        "npm-asset-library": "vendor/npm",
        "bower-asset-library": "vendor/bower"
    }
},

New option

"config": {
    "fxp-asset": {
        "installer-paths": {
            "npm-asset-library": "vendor/npm",
            "bower-asset-library": "vendor/bower"
        },
    }
},

Then run either composer update if you already have a composer.lock file, or composer install if you don't have composer.lock file yet.




回答3:


Check your composer.json file in the root of your project. You should have a section that look slike this;

    "asset-installer-paths": {
        "bower-asset-library": "vendor/bower-assets"
    }

This tells composer where to locate the bower files library. You may need to run composer update afterwards to get hte locations updated.




回答4:


I was facing same issue,
this is how I fixed it-

  • go to vender .

    $ cd projectFile/vendor/
    
  • Rename bower-asset with bower

    $ mv bower-asset/ bower
    
  • Restart mamp/xamp

That fixed the issue and http://localhost:8888/ is working well.




回答5:


It seems your jquery/distis under bower/bower-asset instead under bower. In order to solve your problem, please move all bower-assetcontent including jquery subfolder and others like: bootstrap, yii2-pjax, puny code, etc. in bower folder (one level up). All these subfolders will be at the same level with bower-asset under bower folder. Now you can delete bower-asset folder if you want.

Before you had:

vendor/bower/bower-asset/jquery/dist/...

Now you have:

vendor/bower/jquery/dist...

There shouldn't be any bower-asset subfolder.

This will solve your problem and yii2 app will work as it should.



来源:https://stackoverflow.com/questions/34402608/yii2-fresh-install-vendor-bower-jquery-dist-path-is-wrong

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!