次の動作が正常かどうかを知る必要があります。
私がnpm install
、mypackage.jsonおよび依存関係からの各パッケージは、インストールされませんnestedもう、ただし、各依存関係はnode_modules
ディレクトリ。それは私のnode_modules
ディレクトリが吹き飛ばされ、次のようになります。
これは、npmとノードを更新したために発生しました。
今私は実行します:
npm -v 3.3.6
node -v 4.2.1
python 2.7
windows 7
wamp
僕の package.json
ファイルは次のようになります。
{
"private": true,
"devDependencies": {
"gulp": "^3.8.8"
},
"dependencies": {
"laravel-elixir": "^3.0.0",
"bootstrap-sass": "^3.0.0"
}
}
標準laravel package.json
ファイル。
ネストされたディレクトリを再度作成する方法はありますか。100を超えるサブディレクトリを持つこのような記事は好きではないからです。
これは、 this npm blog によるnpm 3
のnew動作です。
更新: Erik Pukinskisがコメントで述べたように:npm 3.5では、--legacy-bundling
のサポートは廃止されました。
はい、npm(この記事を書いている時点ではバージョン3)のデフォルトの動作を変更することで、ディレクトリを再びネストする方法があります。
現在存在するnode_modules
フォルダーを削除します。
この1つのインストールのレガシーバンドルでインストールするようにnpmに指示します。
npm install --legacy-bundling
「永続的な」代替手段:
レガシーバンドリングを常に使用するようにnpm構成を設定します...
npm set legacy-bundling=true
..そしていつものように実行します:
npm install
注:レガシーバンドリングを使用した依存関係の取得には、同じ依存関係の複数の異なるバージョンがインストールされるため、はるかに時間がかかります。
免責事項: Windows以外のユーザーとして、私はフラットな依存関係を必要とせず、自動重複排除を優先して自己宣言された依存関係を簡単に見つけたいと思っています。レガシーバンドルなしでnpm依存関係をインストールするのにはすでに信じられないほどの時間がかかるので、通常はインストール時間に余分な時間を費やすつもりです。 Laravel Elixir setup with bootstrap(non-sass)、font-awesome)の以前の700+(...)から5つのディレクトリに戻ります。 jqueryが追加されました。