npm WARN install 拒绝安装 hapi 作为自身的依赖
Posted
技术标签:
【中文标题】npm WARN install 拒绝安装 hapi 作为自身的依赖【英文标题】:npm WARN install Refusing to install hapi as a dependency of itself 【发布时间】:2015-01-31 18:41:54 【问题描述】:我尝试执行以下操作(根据 official site 的说明):
mkdir hapi && cd hapi
npm init
npm install hapi --save
但这给了我这样的错误:
现在,我创建了一个名为 hapiTest
的新测试文件夹并重复了这些命令,然后一切正常。
我用文件夹 gulp
和 npm install gulp --save
尝试了相同的过程,得到了同样的错误,所以我的结论是我不能让文件夹的名称与我想要的包相同安装,但是有人可以用一些官方文档来支持这个声明吗?
【问题讨论】:
【参考方案1】:当您执行命令npm init
时,您可能需要回答一些相关问题。具体来说,您的模块的名称。当您使用npm init
时,它假定您希望将正在创建的模块的名称称为其所在文件夹的名称。
因此,阻止您安装依赖项的不是 文件夹 的名称,而是 npm 模块的名称 em> 您正在创建。
在hapi
目录中打开生成的package.json
,并将模块重命名为hapi
以外的名称。这是一个有效的示例“package.json”,即使位于名为 hapi 的文件夹中:
"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 理念相冲突。
【讨论】:
我最初将文件夹命名为与我要安装的模块的名称相同的名称。我忽略了npm init
的说明。尽管更改了目录名称,但我遇到了错误。谢谢@shennan,现在我改了package.json
的名字,世界太平了:)
遇到了同样的事情,包的名字和模块的名字一样。【参考方案2】:
您的模块名称与您尝试安装的模块名称相同。 NPM 认为您正在将模块安装到自身。更改模块的名称,它将完美安装。
【讨论】:
【参考方案3】:原因 模块名与库名一致
解决方案
-
将模块名称更改为其他名称
在 package.json 中更改“名称”
【讨论】:
【参考方案4】:这个问题可以简单解释如下
package.json
中的包或模块的名称不能与您尝试安装的包或模块的名称相同。
这里hapi
是您的模块的名称,您正在尝试安装名称为hapi
和npm install hapi --save
的模块
【讨论】:
【参考方案5】:这是我的初始代码
"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 react@1.0.0 No description
npm WARN package.json react@1.0.0 No repository field.
npm WARN package.json react@1.0.0 No README data
npm WARN install Refusing to install react as a dependency of itself
然后我将名称从 react 重命名为 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"
然后就成功了
【讨论】:
以上是关于npm WARN install 拒绝安装 hapi 作为自身的依赖的主要内容,如果未能解决你的问题,请参考以下文章
jenkins npm install WARN checkPermissions Missing write access 权限问题
WSL2 节点:npm install cpu-features -> npm ERR! /bin/sh: 1: cmake: 权限被拒绝
npm install -g less 不起作用:EACCES:权限被拒绝