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
文件中。
快速解释:我有一个暂存服务器和一个生产服务器,它们都具有相同的部署脚本(唯一的区别是 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
文件中。