Shell 如何在';流浪汉;?

Shell 如何在';流浪汉;?,shell,vagrant,composer-php,expect,puphpet,Shell,Vagrant,Composer Php,Expect,Puphpet,我生成配置文件。我想在第一次运行vagrant up时安装composer资产插件 我编写了一个简单的脚本puphpet\files\exec once\composer asset plugin.sh,它试图做到这一点: #/usr/bin/bash echo“安装Composer资产插件” composer global需要“fxp/composer资产插件:~1.0.0” 它在/root/.composer中安装插件,因此当我通过vagrant ssh(在用户vagrant下)连接并尝试使

我生成配置文件。我想在第一次运行
vagrant up
时安装
composer资产插件

我编写了一个简单的脚本
puphpet\files\exec once\composer asset plugin.sh
,它试图做到这一点:

#/usr/bin/bash
echo“安装Composer资产插件”
composer global需要“fxp/composer资产插件:~1.0.0”

它在
/root/.composer
中安装插件,因此当我通过
vagrant ssh
(在用户
vagrant
下)连接并尝试使用composer时,我会收到一个错误,这意味着插件不存在,因为composer确实不在
/home/vagrant/.composer
中。安装插件后,malualy Composer工作正常

在插件安装之前,我尝试将用户从
root
更改为
vagrant

#/usr/bin/bash
echo“安装Composer资产插件”
expect-c'设置超时3600;产卵苏族流浪者;应为“密码:{send--“vagrant\r”;};退出0'
composer global需要fxp/composer资产插件:~1.0.0


它在命令
expect
后挂起。我做错了什么?

以下内容可能会有所帮助:

# Install Composer
if [ ! -f /usr/local/bin/composer ]; then
    cd /tmp
    curl -sS https://getcomposer.org/installer | php
    mv composer.phar /usr/local/bin/composer
fi
# Install necessary plugin
sudo -H -u vagrant bash -c "composer global require fxp/composer-asset-plugin:~1.0.0"

在这种情况下,该命令将在vagrant用户上下文中执行,并将使用他的家。

它返回
sudo:composer全局要求“fxp/composer资产插件:~1.0.0”:未找到命令
看起来您尚未安装composer,请检查更新的答案。