Yarn を使用して依存関係をインストールすると、node-modules
デフォルトでディレクトリに配置されます。
これをLaravelresources
フォルダに変更するにはどうすればよいですか?
like.bowerrc
は bower to set に使用されます"directory": "resources/assets"
yarn install --modules-folder ./resources
更新:この機能は安定していないため、 この GitHub の問題に注意してください。
更新 2:以下の Damien の回答から、後続の呼び出しごとにコマンドライン引数を継続的に渡す必要がないよう--install.modules-folder "./resources"
に、.yarnrc
ファイルに追加できます。二重引用符が必要であることに注意してください。それらがないと、Invalid value type 1:25
または同様のエラーが発生します。
.yarnrc
次に、プロジェクトの他の開発者が同じ設定を自動的に使用できるように、ソース管理にコミットできます。
yarn run を使用する場合は、次のことを行う必要があります。
ln -sf /opt/myproject/node_modules
yarn config set -- --modules-folder /opt/myproject/node_modules
yarn run は .yarnrc を使用していないようです
第 3 に、node_modules またはベンダーとは別に、Docker ボリュームまたは Vagrant 共有フォルダーとしてマウントする別のディレクトリにソース コードを配置することをお勧めします。Docker では、ボリュームは現在のディレクトリにマウントされます (つまり、 mount . -> /app ではなく、 src -> /app/src )。node_modules が共有フォルダーから提供される場合、「sendfile」-kernel 呼び出しのバグにより、JS ファイルと CSS ファイルがランダムにカットされるため、Oracle virtualbox を使用する vagrant にも同じことが当てはまります。
第 4 に、バイナリの非互換性のため、node_modules はボリューム共有フォルダーではなく、仮想マシン/イメージ内にベイクする必要があります。Node.js は実際には c++ ライブラリに対してコンパイルされます。つまり、npm/yarn install を実行して node_modules を Mac から Docker (Linux を実行) に共有すると、OSX バイナリは Linux バイナリと互換性がないため、セグメンテーション エラーが発生します。たとえば、ホスト マシンで Ubuntu を使用し、コンテナーで Alpine Linux を使用する場合、または異なる Ubuntu バージョンを使用する場合は、Linux から Linux でも同じことが言えます。