- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在发出 npm
命令时,我收到一条错误消息,
Error: EISDIR: illegal operation on a directory, read
TypeError: Cannot read property 'get' of undefined
我在这方面经历过的 SO 帖子(没有解决我的问题):
Using Node.js I get, "Error: EISDIR, read"
Node.JS readFileSync() function
我还尝试编辑 .npmrc
文件以删除 ca
条目,即使在这之后问题仍然存在。
有人可以帮忙吗?
最佳答案
根据个人经验,根据你的错误提示illegal operation on a directory
,我猜测是在执行npm时,无法访问目录或文件。
正如其他人所提到的,这通常是与存储 npm 自定义配置的 .npmrc 文件(通常位于用户的主目录 ~/.npmrc 中)相关的错误。重要的是要注意 npm 可以有不同级别的配置:
您可以在 npmrc documentation page 上阅读有关 .npmrc 可能存在的不同位置以及与 npm 配置文件相关的其他文档的信息。 .
如果您更愿意调查问题的根源而不是仅仅删除您的 .npmrc 文件,您可以通过在文本编辑器(VS 代码、记事本等)中打开 .npmrc 或发出以下命令来实现:
npm config edit
当 .npmrc 在您的文本编辑器中打开时,您可以开始查看您拥有的任何配置。如果该文件为空或不存在,那么您没有任何配置(在那个级别),您可以继续调查另一个级别或问题的其他来源的 .npmrc 配置。
同样,如果您的 .npmrc 文件仅包含以分号 (;) 开头的文本行,则您没有事件配置,因为分号在 .npmrc 中充当注释(非事件)行。在某些情况下,例如,如果您曾经运行过 npm config list
,那么 npm 会为您创建一个示例 .npmrc 文件,其中包含要配置的可能设置列表,但所有这些设置都处于非事件状态,因为它们前面有一个分号。下面是运行 npm config list
时 npm 生成的文件片段:
;;;;
; npm userconfig file
; this is a simple ini-formatted file
; lines that start with semi-colons are comments.
; read `npm help config` for help on the various options
;;;;
; all options with default values
;;;;
; access=null
; allow-same-version=false
一旦您确认您的自定义配置在 .npmrc 中处于事件状态,那么导致此错误的一个可能原因可能是您拥有的引用计算机上文件位置的任何自定义配置。在我的例子中,我为 .npmrc 中的 cacert 属性引用了我的 ca 证书的不完整路径:
Broken Configuration:
; settings located in ~/.npmrc
cafile=C:/Users/kfrisbie/Documents/certs
请注意,上面的“certs”是对目录的引用,npm 期望在该目录中引用文件,因此当我更新路径以引用目录中我想要的文件时,npm 再次开始正常运行。
Fixed Configuration:
; settings located in ~/.npmrc
; note, I was missing the name of the file in the certs directory
cafile=C:/Users/kfrisbie/Documents/certs/trusted_certs.pem
关于node.js - npm 命令 - 读取错误 : EISDIR: illegal operation on a directory,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44631383/
尝试安装react-devtools时在Mac上出现此错误 Hakk-MBP:HelloWorld hakkikonu$ sudo npm install -g react-devtools Unha
我收到这个错误 java.io.FileNotFoundException: /data/data/com.example.app/cache/news.xml: open failed: EISDI
我正在尝试设置 grunt 来缩小 src 目录中的多个 js 文件并将它们复制到构建目录。继grunt task documentation ,我相信下面的配置应该可以工作。 uglify: {
每次它给我“无法解码流 java.io.FileNotFoundException:/: open Faild EISDIR (Is a Directory)” 我怎样才能摆脱这个错误..这个类在我完
我正在尝试使用 node.js 将一个文件夹复制到另一个文件夹,这里是文件夹路径:- D:\node\files\11\j1_1\j1_2\j1_3我想将文件夹 j1_3 复制到路径D:\node\f
我是编程新手,正在尝试在运行 Snow Leopard 的 Mac 上通过终端使用 Michael Hartl 的教程设置 Ruby on Rails,但我有点卡在这部分。我试过使用 rvm 1.9.
我尝试上传文件并移动到已存在的新目录。关注Writing files in Node.js但我得到了错误:错误:EISDIR,打开“/Users/name/Sites/project/app/asse
我得到open failed: EISDIR (Is a directory) 。我从打电话 file.getParentFile().mkdirs() 找到的所有解决方案,但我仍然收到该错误。它打印
我正在尝试从网址下载图像,然后将其上传到我的 firebase 云存储。这是我正在使用的代码。 import * as functions from 'firebase-functions'; imp
我正在尝试使用 MediaRecorder 在 android studio 的 Piano 应用程序中录制音频。在搜索有关如何将文件保存为 getExternalPublicDirectory 已弃
我在 Azure DevOps 中托管了一个 Web 应用程序,该应用程序是使用 Vue 和 Nuxt 构建的。@vue/cli 5.0.1 和 "nuxt": "^2.15.8"。托管 Web 应用
我正在尝试从 SD 卡解压缩我的 Android 设备上的 RAR 存档,但出现错误: java.io.FileNotFoundException: /mnt/sdcard: open failed
我已经定义了一个 uncss grunt 任务,我想将 .min.css 添加到文件夹/css 中的所有文件内容,但是当我运行 grunt 命令并保存我的 css 更改时(任务 watch 正在查找)
我关注了this在没有管理员权限的情况下将 Node 安装到我的计算机上的指南。 我将 npm zip 中的 node.exe(npm.cmd 和 node_modules)放入 C:\Users\r
当我从 android 设备进入我的 react native 应用程序时,应用程序崩溃并抛出下一个错误: 错误图片: 谢谢你的帮助 我尝试删除节点模块并重新安装并删除应用程序并再次构建,但它不起作用
我正在尝试使用以下代码将文件复制到另一个外部文件夹的简单代码: RNFS.copyFile(sourcePath, destinationPath) .then(result => { conso
在实现简单的静态服务中间件时,我偶然发现了以下代码: fs = require('fs'); util = require('util'); stream = fs.createReadStream(
这是我将数据库从 Assets 文件夹复制到 SD 卡的代码: File databaseFile = new File(context.getExternalFilesDir(null),"");
尝试学习 webpack,但每当我将模块 Node 引入 webpack.config.js 时,我总是收到此错误 错误输出: ERROR in ./src/main.js Module build
所以我在玩rabbitMQ并为消费者使用 Node ,我试图从远程服务器上拉取一个图像文件,只要我使用'./'作为目的地,这就可以正常工作,但是一旦我使用'c:\images'之类的东西,它就会崩溃:
我是一名优秀的程序员,十分优秀!