問題タブ [laravel-envoy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
542 参照

node.js - Laravel Envoy は、NVM (ノード バージョン マネージャー) でインストールされている場合、Ubuntu でノード/npm を検出できません。bash: 5 行目: npm: コマンドが見つかりません

Ubuntu 18.04 に NVM を使用して node/npm をインストールしました。サーバーに ssh してnode -v(v13.9.0) とnpm -v(v13.9.0) を実行できるので、それらがインストールされ、ユーザーが実行できるようになります。

Laravel Envoy デプロイ ツールを使用してこれを実行しようとすると、次のエラーが発生します。

bash: line 5: npm: command not found

私の Envoy スクリプトは次のように非常にシンプルです。

そのため、何らかの理由で Envoy がサーバーにログインすると、node/npm にアクセスできません。php や composer など、システムにインストールされている他のすべてのものは正常に動作します。

Envoy が NVM ノード/npm インストールを認識できない理由はありますか? Envoy はデプロイ ユーザーでログインしていませんか?


どの npm を指しているかを確認すると、次のようになります。

/home/deploy/.nvm/versions/node/v13.9.0/bin/npm

これを ssh シェルで直接呼び出してみたところ、正しい結果が得られました。npm は期待どおりに実行されます。

次に、これを Envoy スクリプトに次のように追加しようとしました。

ただし、次のエラーが返されます。

‘node’: No such file or directory

興味深いことに、このようにバイナリを直接参照することで、Laravel Envoy を使用してノードを実行できます。/home/deploy/.nvm/versions/node/v13.9.0/bin/node -v