2014-12-03 28 views
37

我試着做以下(每奉official site):NPM WARN安裝拒絕安裝高致病性禽流感作爲自身的依賴性

  • mkdir hapi && cd hapi
  • npm init
  • npm install hapi --save

但這給了我一個像這樣的錯誤:

NPM WARN安裝拒絕安裝高致病性禽流感作爲自身

的依賴現在,我做了名爲hapiTest一個新的測試文件夾,重複的命令,然後一切工作正常。

我試過同一個文件夾gulpnpm install gulp --save,並得到相同的錯誤,所以我的結論是,我不能讓文件夾的名稱與我想要安裝的包相同,但是有人可以用一些官方文件來支持這個聲明嗎?

回答

107

當您執行命令npm init時,您可能需要回答一些相關問題。具體來說,你的模塊的名稱。當您使用npm init,假設你想你正在創建被稱爲是在文件夾的名稱模塊的名稱。

所以它不是文件夾的是阻止你的名字從安裝依賴關係開始,它是您正在創建的npm模塊的名稱。

打開您的hapi目錄內造成package.json,模塊重命名爲hapi其他的東西。下面是一個例子「的package.json」住了一個名爲高致病性禽流感文件夾中時,這樣的作品,甚至:

{ 
    "name": "hapi-test", 
    "version": "1.0.0", 
    "description": "", 
    "main": "index.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "author": "", 
    "license": "ISC", 
    "dependencies": { 
    "hapi": "^7.5.2" 
    } 
} 

新增注意

我已經無法找到任何文件,因此遠在npm的背景下解釋這種現象;儘管這有點不用理會。在同一應用程序中要求具有相同名稱的模塊將與CommonJS原理相沖突。

+0

我最初命名的文件夾具有相同的名稱,我想安裝的模塊。我忽略了'npm init'指令。儘管更改了目錄名稱,但我仍然遇到了錯誤。謝謝@shennan,現在我已經改變了'package.json'中的名字,這個世界是和平的:) – DDM 2016-01-26 12:30:54

+0

同樣的事情,包的名字和模塊是一樣的。 – Antoine 2016-03-13 22:37:36

8

模塊的名稱與您嘗試安裝的模塊相同。 NPM認爲您正在將模塊安裝到自身。改變你的模塊的名稱,它會完美安裝。

3

原因 模塊名稱一樣的是庫名

解決方案

  1. 更改模塊名稱到別的東西
  2. 更改 '名稱' 中的package.json
0

這個問題可以簡單地解釋d如下 您的包裝或模塊的名稱package.json不能與您嘗試安裝的包裝或模塊的名稱相同

這裏hapi是你的模塊的名稱和您要安裝帶有名hapi模塊與npm install hapi --save

0

這是我最初的代碼

{ 
    "name": "react", 
    "version": "1.0.0", 
    "description": "", 
    "main": "index.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "author": "", 
    "license": "ISC", 
    "dependencies": { 
    "react": "^15.6.1" 
    } 
} 

它扔錯誤

npm WARN package.json [email protected] No description 
npm WARN package.json [email protected] No repository field. 
npm WARN package.json [email protected] No README data 
npm WARN install Refusing to install react as a dependency of itself 

然後我改名的名字從反應react_app和我的代碼看起來像

{ 
    "name": "react_app", 
    "version": "1.0.0", 
    "description": "", 
    "main": "index.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "author": "", 
    "license": "ISC", 
    "dependencies": { 
    "react": "^15.6.1" 
    } 
} 

那麼它的工作