問題タブ [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.
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