npm运行报错Error: EEXIST: file already exists解决办法

2023-10-22 14:38

本文主要是介绍npm运行报错Error: EEXIST: file already exists解决办法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    我的node安装在D:\Program Files\nodejs这个目录下面,通过npm config set prefix "D:\Program Files\nodejs\npm"来配置npm的全局模块的存放路径。由于D:\Program Files\nodejs存在npm(linux下的可执行文件)这个文件,导致运行npm的时候一直报Error: EEXIST: file already exists, mkdir 'D:\Program Files\nodejs\npm'这样的错误。解决办法有以下2个。1、将npm文件改名,再次运行npm就会在D:\Program Files\nodejs生成一个npm的文件夹,此后可以通过npm config set prefix 设置为其他的文件名。2、在%appdata%/../..目录下有一个名为.npmrc的文件,存放npm的userconfig配置,其内容如下:prefix=D:\Program Files\nodejs\npm,我们可以通过修改prefix的路径解决这个问题。通过npm config set prefix 和npm config set cache 来设置npm的全局模块的存放路径以及cache的路径。通过npm install express -g来安装express组件,-g的意思是装到npm的全局模块的路径下。如果没有-g 就会把组件安装在当前路径下面。通过npm config ls -l查看当前的目录设置:
C:\Users\soft>npm config ls -l
; cli configs
long = true
user-agent = "npm/3.10.9 node/v7.2.0 win32 x64"; userconfig C:\Users\soft\.npmrc
prefix = "D:\\Program Files\\nodejs\\node_global"; builtin config undefined
; prefix = "C:\\Users\\soft\\AppData\\Roaming\\npm" (overridden); default values
access = null
also = null
always-auth = false
bin-links = true
browser = null
ca = null
cache = "C:\\Users\\soft\\AppData\\Roaming\\npm-cache"
cache-lock-retries = 10
cache-lock-stale = 60000
cache-lock-wait = 10000
cache-max = null
cache-min = 10
cafile = undefined
cert = null
color = true
depth = null
description = true
dev = false
dry-run = false
editor = "notepad.exe"
engine-strict = false
fetch-retries = 2
fetch-retry-factor = 10
fetch-retry-maxtimeout = 60000
fetch-retry-mintimeout = 10000
force = false
git = "git"
git-tag-version = true
global = false
global-style = false
globalconfig = "D:\\Program Files\\nodejs\\node_global\\etc\\npmrc"
globalignorefile = "D:\\Program Files\\nodejs\\node_global\\etc\\npmignore"
group = 0
heading = "npm"
https-proxy = null
if-present = false
ignore-scripts = false
init-author-email = ""
init-author-name = ""
init-author-url = ""
init-license = "ISC"
init-module = "C:\\Users\\soft\\.npm-init.js"
init-version = "1.0.0"
json = false
key = null
legacy-bundling = false
link = false
local-address = undefined
loglevel = "warn"
; long = false (overridden)
maxsockets = 50
message = "%s"
node-version = "7.2.0"
npat = false
onload-script = null
only = null
optional = true
parseable = false
; prefix = "D:\\Program Files\\nodejs" (overridden)
production = false
progress = true
proprietary-attribs = true
proxy = null
rebuild-bundle = true
registry = "https://registry.npmjs.org/"
rollback = true
save = false
save-bundle = false
save-dev = false
save-exact = false
save-optional = false
save-prefix = "^"
scope = ""
searchexclude = null
searchopts = ""
searchsort = "name"
shell = "C:\\WINDOWS\\system32\\cmd.exe"
shrinkwrap = true
sign-git-tag = false
strict-ssl = true
tag = "latest"
tag-version-prefix = "v"
tmp = "C:\\Users\\soft\\AppData\\Local\\Temp"
umask = 0
unicode = false
unsafe-perm = true
usage = false
user = 0
; user-agent = "npm/{npm-version} node/{node-version} {platform} {arch}" (overridden)
userconfig = "C:\\Users\\soft\\.npmrc"
version = false
versions = false
viewer = "browser"
    设置npm国内镜像:npm config set registry http://registry.npmjs.vitecho.com 也可使用淘宝的npm镜像:npm install -g express --registry=https://registry.npm.taobao.org配置环境变量NODE_PATH,设置为node_modules的文件夹路径为:D:\Program Files\nodejs\node_global\node_modules。如果不加这个变量,在使用require('express')时就会提示如下的错误:
> require('express')
Error: Cannot find module 'express'at Function.Module._resolveFilename (module.js:470:15)at Function.Module._load (module.js:418:25)at Module.require (module.js:498:17)at require (internal/module.js:20:19)at repl:1:1at realRunInThisContextScript (vm.js:22:35)at sigintHandlersWrap (vm.js:98:12)at ContextifyScript.Script.runInThisContext (vm.js:24:12)at REPLServer.defaultEval (repl.js:313:29)at bound (domain.js:280:14)
    npm设置代理有6种方式,优先级由高到底。1、命令行参数。 --proxy http://server:port即将proxy的值设为http://server:port。2、环境变量。 以npm_config_为前缀的环境变量将会被认为是npm的配置属性。如设置proxy可以加入这样的环境变量npm_config_proxy=http://server:port。3、用户配置文件。可以通过npm config get userconfig查看文件路径。如果是mac系统的话默认路径就是$HOME/.npmrc。4、全局配置文件。可以通过npm config get globalconfig查看文件路径。mac系统的默认路径是/usr/local/etc/npmrc。5、内置配置文件。安装npm的目录下的npmrc文件。6、默认配置。 npm本身有默认配置参数,如果以上5条都没设置,则npm会使用默认配置参数。通过npm config get userconfig获取userconfig配置文件的路径,通过npm config edit打开userconfig配置文件。通过npm config get globalconfig获取globalconfig配置文件,通过npm config --global edit打开globalconfig配置文件:
C:\Users\soft>npm config editC:\Users\soft>npm config get userconfig
C:\Users\soft\.npmrcC:\Users\soft>npm config get globalconfig
D:\Program Files\nodejs\node_global\etc\npmrcC:\Users\soft>npm config --global editC:\Users\soft>
    npm install xxx 安装到命令行所在目录的node_module目录。npm install xxx -g 将模块安装到全局环境中npm ls 查看安装的模块及依赖npm ls -g 查看全局安装的模块及依赖npm uninstall xxx  (-g) 卸载模块npm cache clean 清理缓存node安装完毕后(windows系统),在C:\Users\用户名 的下面会有一个.npmrc文件,通过添加或修改其内容来修改npm的全局设置:
prefix = D:\Program Files\nodejs\node_global
cache  = D:\Program Files\nodejs\node_global
    设置完毕后将D:\Program Files\nodejs\node_global\node_modules添加到path中,这样在安装模块在使用的时候就不会出现模块找不到的问题。

这篇关于npm运行报错Error: EEXIST: file already exists解决办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/262084

相关文章

Spring Boot项目打包和运行的操作方法

《SpringBoot项目打包和运行的操作方法》SpringBoot应用内嵌了Web服务器,所以基于SpringBoot开发的web应用也可以独立运行,无须部署到其他Web服务器中,下面以打包dem... 目录一、打包为JAR包并运行1.打包为可执行的 JAR 包2.运行 JAR 包二、打包为WAR包并运行

vscode不能打开终端问题的解决办法

《vscode不能打开终端问题的解决办法》:本文主要介绍vscode不能打开终端问题的解决办法,问题的根源是Windows的安全软件限制了PowerShell的运行,而VSCode默认使用Powe... 遇到vscode不能打开终端问题,一直以为是安全软件限制问题,也没搜到解决方案,因为影响也不大,就没有管

idea报错java: 非法字符: ‘\ufeff‘的解决步骤以及说明

《idea报错java:非法字符:‘ufeff‘的解决步骤以及说明》:本文主要介绍idea报错java:非法字符:ufeff的解决步骤以及说明,文章详细解释了为什么在Java中会出现uf... 目录BOM是什么?1. BOM的作用2. 为什么会出现 \ufeff 错误?3. 如何解决 \ufeff 问题?最

解决Maven项目报错:failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题

《解决Maven项目报错:failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题》这篇文章主要介... 目录Maven项目报错:failed to execute goal org.apache.maven.pl

Java NoClassDefFoundError运行时错误分析解决

《JavaNoClassDefFoundError运行时错误分析解决》在Java开发中,NoClassDefFoundError是一种常见的运行时错误,它通常表明Java虚拟机在尝试加载一个类时未能... 目录前言一、问题分析二、报错原因三、解决思路检查类路径配置检查依赖库检查类文件调试类加载器问题四、常见

电脑找不到mfc90u.dll文件怎么办? 系统报错mfc90u.dll丢失修复的5种方案

《电脑找不到mfc90u.dll文件怎么办?系统报错mfc90u.dll丢失修复的5种方案》在我们日常使用电脑的过程中,可能会遇到一些软件或系统错误,其中之一就是mfc90u.dll丢失,那么,mf... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

解决IDEA报错:编码GBK的不可映射字符问题

《解决IDEA报错:编码GBK的不可映射字符问题》:本文主要介绍解决IDEA报错:编码GBK的不可映射字符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录IDEA报错:编码GBK的不可映射字符终端软件问题描述原因分析解决方案方法1:将命令改为方法2:右下jav

MyBatis模糊查询报错:ParserException: not supported.pos 问题解决

《MyBatis模糊查询报错:ParserException:notsupported.pos问题解决》本文主要介绍了MyBatis模糊查询报错:ParserException:notsuppo... 目录问题描述问题根源错误SQL解析逻辑深层原因分析三种解决方案方案一:使用CONCAT函数(推荐)方案二:

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制