3

簡単な説明: ステージング サーバーと運用サーバーがあり、どちらも同じデプロイ スクリプトを使用しています (唯一の違いは、クローンのレポ ブランチです)。bower install両方のサーバーにグローバルにインストールされている展開スクリプトが実行されます。

それをグローバルにインストールするには、に変更npm config set prefixしてから/home/forge/.npm-packages実行しましたnpm install -g bower(注sudoは必要ありませんでした。それがプレフィックスを変更するポイントです)。繰り返しますが、これは両方のサーバーで行われました。

ssh各サーバーに入って実行すると、bower -vコマンドwhich bowerDOが存在することは明らかであり、PATHenvに追加されます。両方のサーバーで同じ出力です。

bower installプロジェクトルートで手動で実行すると、両方のサーバーで機能します。

問題は、本番環境でのみ失敗する forge デプロイ スクリプトです (IKR? 何が期待されていたのかわかりません)。

実際の出力は次のとおりです。

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

興味深いのは、デバッグしようとして手動で実行provision-2394191.shしたところ、うまくいったことです。

本番サーバーの何が問題になっていますか?

4

1 に答える 1

3

usingにnew/home/forge/.npm-packagesを追加するだけでは十分ではないようです。これを解決するには、手動でファイルに追加する必要がありました。$PATHexport/etc/environment

于 2015-09-05T05:53:14.740 に答える