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,请检查更新的答案。