尝试在Composer post install / update挂钩中运行bash脚本时出现以下错误:
> post-install.sh
sh: 1: post-install.sh: not found
Script post-install.sh handling the post-install-cmd event returned with an error
  [RuntimeException]
  Error Output: sh: 1: post-install.sh: not found
原始composer.json
可以工作,但更新后安装/更新命令以便在两个地方运行真的很烦人。
{
  "require": {
    "twbs/bootstrap": "3.3.5"
    ...
    ...
  },
  "scripts": {
    "post-install-cmd": [
      "mkdir -p _libraries",
      "cp -r vendor/twbs/bootstrap/dist _libraries/bootstrap/",
      ...
      ...
    ],
    "post-update-cmd": [
      "mkdir -p _libraries",
      "cp -r vendor/twbs/bootstrap/dist _libraries/bootstrap/",
      ...
      ...
    ]
  }
}
根据 作曲家文档:
用Composer的术语来说,脚本可以是PHP回调(定义的) 作为静态方法)或任何命令行可执行命令。
所以我的 composer.json 应该能够这样工作:
想要composer.json
{
  "require": {
    "twbs/bootstrap": "3.3.5"
    ...
    ...
  },
  "scripts": {
    "post-install-cmd": [
      "post-install.sh"
    ],
    "post-update-cmd": [
      "post-install.sh"
    ]
  }
}
post-install.sh
每个人都可以执行(0775)并且与composer.json位于同一目录中
#!/bin/bash
mkdir -p _libraries
cp -r vendor/twbs/bootstrap/dist _libraries/bootstrap/
...
...