如何通过命令行

时间:2016-05-19 05:41:47

标签: php wordpress bash composer-php

如何在运行composer install时提交变量,以便能够影响composer.json并根据我传递的内容修改“wp”:

“extra”: {
    “wordpress-install-dir”: “wp” //This should be customizable via CLI
},

我正在使用Composer在子目录中安装Wordpress - 以下https://deliciousbrains.com/how-why-install-wordpress-core-subdirectory/方法 - 。

{
    “name”: “polevaultweb/wp-composer-core-sub-dir”,
    “description”: “Installing WordPress in a subdirectory with Composer”,
    “require”: {
        “php”: “>=5.4”,
        “johnpbloch/wordpress-core-installer”: “0.2.0”,
        “johnpbloch/wordpress”: “~4.2”
    },
    “extra”: {
        “wordpress-install-dir”: “wp”
    },
    “scripts”: {
        “post-install-cmd”: [
            “cp wp/index.php ./index.php”,
            “sed -i ‘’ \”s/\\/wp-blog-header/\\/wp\\/wp-blog-header/g\” index.php”
        ]
    }
}

我阅读https://getcomposer.org/doc/articles/scripts.md并尝试:composer install run-script "WP_CORE=wpsubdirectory"然后在我的composer.json中添加一个BASH变量:

  “extra”: {
        “wordpress-install-dir”: “$WP_CORE”
    },

它不起作用,因为语法本身并没有很好地格式化。

我很安静。任何人吗?

感谢。

2 个答案:

答案 0 :(得分:3)

我使用以下命令解决了它。

composer config extra.wordpress-install-dir --unset ; composer config extra.wordpress-install-dir WPSUBDIRECTORY ;

它做了什么?

首先,它删除 wordpress-install-dir 值(如果存在)。然后它添加 wordpress-install-dir 并将其设置为 WPSUBDIRECTORY

"extra": {
  "wordpress-install-dir": "WPSUBDIRECTORY"
}

参考

答案 1 :(得分:0)

这是我的配置变量“ 版本

{
    "name": "laravel/laravel",
    "version": "1.0.2",
     ...
     ...
 }
  

显示当前版本

composer config version       //1.0.2

并且如果设置了新版本

composer config version 1.0.3
  

注意:如果可以将其他数据放在composer.json中,则可以使用   json中的额外键

"extra": {
        "laravel": {
            "dont-discover": []
        },
        "my-theme-color":{
           "color":"green"
        }
    },