Laravel Forge部署脚本失败,未找到'命令'

时间:2015-09-04 19:16:33

标签: laravel ubuntu npm laravel-forge

快速解释:我有一个升级服务器和一个生产服务器,两者都使用相同的部署脚本(唯一的区别是克隆的repo分支)。部署脚本运行bower install,它全局安装在两台服务器上。

要在全球范围内安装,我将npm config set prefix更改为/home/forge/.npm-packages,之后又npm install -g bower了{注意sudo不是必需的,这是改变前缀)。再一次,这是在两台服务器上完成的。

当我ssh进入每个服务器并运行bower -vwhich bower时,很明显命令DO存在,并且它被添加到PATH env。两台服务器的输出相同。

在项目根目录上手动运行bower install适用于两个服务器。

问题是伪造部署脚本,仅在生产时失败(IKR?我不知道我期待什么)。

实际输出为:

/home/forge/.forge/provision-2394191.sh: line 8: bower: command not found

有趣的是,在我尝试调试时,我手动运行provision-2394191.sh并且它有效。

我的生产服务器有什么问题?

1 个答案:

答案 0 :(得分:2)

似乎使用/home/forge/.npm-packages$PATH添加新的export是不够的。要解决这个问题,我必须手动将其添加到/etc/environment文件中。