簡體   English   中英

為什么Grunt在node_modules中安裝了這么多文件夾?

[英]Why is Grunt installing so many folders in node_modules?

我很長一段時間以來第一次使用咕嚕聲,我的預感是我錯了。 當我運行npm install grunt --save-dev ,我的npm_modules文件夾中裝載了許多文件夾(准確地說是87)。 我的期望,以及我在觀看教程時看到的是,應該添加一個名為grunt的文件夾。 類似地,當我嘗試添加uglify插件( npm install grunt-contrib-uglify --save-dev )時,我會在node_modules中添加額外的31個文件夾。 我記得剛剛獲得一個帶有插件名稱的文件夾。 我正在使用:

npm版本3.9.3
grunt版本1.0.1
OSX Yosemite 10.10.5

的package.json

{
  "name": "myapp",
  "version": "1.0.0",
  "description": "the description",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "Me",
  "license": "MIT",
  "devDependencies": {
    "grunt": "^1.0.1",
    "grunt-contrib-uglify": "^1.0.1"
  }
}

任何幫助是極大的贊賞。 謝謝。

您正在使用NPM版本3來平坦依賴項 您已安裝的模塊的依賴關系也可以安裝在node_modules文件夾下。 您可以將此與Bower處理瞬態依賴關系的方式進行比較。

來自文檔:

當npm2以嵌套方式安裝所有依賴項時,npm3會嘗試緩解此類嵌套導致的深層樹和冗余。 npm3通過以平面方式安裝一些輔助依賴項(依賴項的依賴項)來嘗試此操作,與需要它的主要依賴項位於同一目錄中。

因此預期這種行為,你沒有做錯任何事。

如果您仍在運行NPM版本2,您可能已經注意到它顯示有關此依賴項解析更改的警告消息:

karma-phantomjs-launcher中包含的對等依賴關系phantomjs-prebuilt @> = 1.9將不再自動安裝以在npm 3+中實現peerDependency。 您的應用程序需要明確依賴它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM