簡単な説明: ステージング サーバーと運用サーバーがあり、どちらも同じデプロイ スクリプトを使用しています (唯一の違いは、クローンのレポ ブランチです)。bower install
両方のサーバーにグローバルにインストールされている展開スクリプトが実行されます。
それをグローバルにインストールするには、に変更npm config set prefix
してから/home/forge/.npm-packages
実行しましたnpm install -g bower
(注sudo
は必要ありませんでした。それがプレフィックスを変更するポイントです)。繰り返しますが、これは両方のサーバーで行われました。
ssh
各サーバーに入って実行すると、bower -v
コマンドwhich bower
DOが存在することは明らかであり、PATH
envに追加されます。両方のサーバーで同じ出力です。
bower install
プロジェクトルートで手動で実行すると、両方のサーバーで機能します。
問題は、本番環境でのみ失敗する forge デプロイ スクリプトです (IKR? 何が期待されていたのかわかりません)。
実際の出力は次のとおりです。
/home/forge/.forge/provision-2394191.sh: line 8: bower: command not found
興味深いのは、デバッグしようとして手動で実行provision-2394191.sh
したところ、うまくいったことです。
本番サーバーの何が問題になっていますか?