Laravel Forge 部署脚本失败 'command not found'

Laravel Forge deployment script fails with 'command not found'

快速解释:我有一个暂存服务器和一个生产服务器,它们都具有相同的部署脚本(唯一的区别是 repo b运行ch 克隆) .全局安装在两台服务器上的部署脚本 运行s bower install

为了在全球安装它,我将 npm config set prefix 更改为 /home/forge/.npm-packages 然后 运行 npm install -g bower (注意 sudo 不是必需的,这就是重点更改前缀)。同样,这在两台服务器上都完成了。

当我 ssh 进入每个服务器,并且 运行 bower -v, which bower 很明显命令确实存在,并且它被添加到 PATH 环境。两台服务器的输出相同。

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

问题是 forge 部署脚本,仅在生产环境中失败(IKR?我不知道我在期待什么)。

实际输出为:

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

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

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

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