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 的新测试文件夹并重复了这些命令,然后一切正常。

我用文件夹 gulpnpm 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 是您的模块的名称,您正在尝试安装名称为hapinpm 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 权限问题

我在“npm install”上得到“拒绝访问”

WSL2 节点:npm install cpu-features -> npm ERR! /bin/sh: 1: cmake: 权限被拒绝

npm install -g less 不起作用:EACCES:权限被拒绝

npm install 权限被拒绝 /.npm/_cacache/

当我执行 npm install 时,Git Clone 的权限被拒绝