问题解决:npm修改路径后获取vue信息出错,npm info vue 出错。

文章描述了一位用户在CMD中尝试修改npm的缓存和全局模块路径后遇到EPERM错误的情况。解决方案是使用管理员权限打开CMD进行配置,并更新系统环境变量。经过正确配置,用户成功运行了`npminfovue`命令,显示了Vue的相关信息。

问题

在cmd中修改了npm缓存文件及全局模块文件路径后,通过获取vue信息出错。

C:\Users\SueMagic>npm info vue
npm ERR! code EPERM
npm ERR! syscall mkdir
npm ERR! path b:\nodejs\node_cache\_cacache
npm ERR! errno -4048
npm ERR! Error: EPERM: operation not permitted, mkdir 'b:\nodejs\node_cache\_cacache'
npm ERR!  [Error: EPERM: operation not permitted, mkdir 'b:\nodejs\node_cache\_cacache'] {
npm ERR!   errno: -4048,
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'mkdir',
npm ERR!   path: 'b:\\nodejs\\node_cache\\_cacache'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It's possible that the file was already in use (by a text editor or antivirus),
npm ERR! or that you lack permissions to access it.
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

npm ERR! Log files were not written due to an error writing to the directory: b:\nodejs\node_cache\_logs
npm ERR! You can rerun the command with `--loglevel=verbose` to see the logs in your terminal

C:\Users\SueMagic>

通过npm config ls获取npm配置信息

C:\Users\SueMagic>npm config ls
; "builtin" config from B:\nodejs\node_modules\npm\npmrc

; prefix = "C:\\Users\\SueMagic\\AppData\\Roaming\\npm" ; overridden by user

; "user" config from C:\Users\SueMagic\.npmrc

cache = "b:\\nodejs\\node_cache"
prefix = "b:\\nodejs\\node_global"
registry = "https://registry.npmmirror.com/"

; node bin location = B:\nodejs\node.exe
; node version = v18.16.0
; npm local prefix = C:\Users\SueMagic
; npm version = 9.5.1
; cwd = C:\Users\SueMagic
; HOME = C:\Users\SueMagic
; Run `npm config ls -l` to show all defaults.

C:\Users\SueMagic>

原因

修改后的路径依旧已经更改,但是应该要用管理员权限打开cmd;

解决

打开CMD应该用管理员权限打开来修改nodejs的缓存文件及全局文件的路径,并配置好其环境变量;

在这里插入图片描述

C:\WINDOWS\system32>npm config set cache "b:\nodejs\node_cache"

C:\WINDOWS\system32>npm config set prefix "b:\nodejs\node_global"

C:\WINDOWS\system32>npm config get prefix
b:\nodejs\node_global

C:\WINDOWS\system32>npm config get cache
b:\nodejs\node_cache

C:\WINDOWS\system32>npm config ls
; "builtin" config from B:\nodejs\node_modules\npm\npmrc

; prefix = "C:\\Users\\SueMagic\\AppData\\Roaming\\npm" ; overridden by user

; "user" config from C:\Users\SueMagic\.npmrc

cache = "b:\\nodejs\\node_cache"
prefix = "b:\\nodejs\\node_global"
registry = "https://registry.npmmirror.com/"

; node bin location = B:\nodejs\node.exe
; node version = v18.16.0
; npm local prefix = C:\WINDOWS\system32
; npm version = 9.5.1
; cwd = C:\WINDOWS\system32
; HOME = C:\Users\SueMagic
; Run `npm config ls -l` to show all defaults.

可以看出本地prefix的路径不在是用户,

配置PATH系统环境变量

在这里插入图片描述
在自己电脑上找到此电脑右键->属性->高级系统设置 ->环境变量

①在系统变量中点击新建,设置变量名NODE_PATH,变量值为B:\nodejs\node_global\node_modules(即是你设置的prefix的路径下的node_modules)

点击确定

②在系统变量中点击新建,设置变量名NODE_HOME,变量值为B:\nodejs\node_global\node_global(即是你设置的prefix的路径下的node_modules)

点击确定
在这里插入图片描述
在Path中加入刚刚新建的两个变量:
%NODE_HOME%
%NODE_PATH%
在这里插入图片描述

更改后:

C:\WINDOWS\system32>npm config set cache "b:\nodejs\node_cache"

C:\WINDOWS\system32>npm config set prefix "b:\nodejs\node_global"

C:\WINDOWS\system32>npm config get prefix
b:\nodejs\node_global

C:\WINDOWS\system32>npm config get cache
b:\nodejs\node_cache

C:\WINDOWS\system32>npm config ls
; "builtin" config from B:\nodejs\node_modules\npm\npmrc

; prefix = "C:\\Users\\SueMagic\\AppData\\Roaming\\npm" ; overridden by user

; "user" config from C:\Users\SueMagic\.npmrc

cache = "b:\\nodejs\\node_cache"
prefix = "b:\\nodejs\\node_global"
registry = "https://registry.npmmirror.com/"

; node bin location = B:\nodejs\node.exe
; node version = v18.16.0
; npm local prefix = C:\WINDOWS\system32
; npm version = 9.5.1
; cwd = C:\WINDOWS\system32
; HOME = C:\Users\SueMagic
; Run `npm config ls -l` to show all defaults.

C:\WINDOWS\system32>npm info vue

vue@3.3.4 | MIT | deps: 5 | versions: 445
The progressive JavaScript framework for building modern web UI.
https://github.com/vuejs/core/tree/main/packages/vue#readme

keywords: vue

dist
.tarball: https://registry.npmmirror.com/vue/-/vue-3.3.4.tgz
.shasum: 8ed945d3873667df1d0fcf3b2463ada028f88bd6
.integrity: sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==
.unpackedSize: 2.0 MB

dependencies:
@vue/compiler-dom: 3.3.4    @vue/runtime-dom: 3.3.4     @vue/shared: 3.3.4
@vue/compiler-sfc: 3.3.4    @vue/server-renderer: 3.3.4

maintainers:
- posva <posva13@gmail.com>
- yyx990803 <yyx990803@gmail.com>

dist-tags:
alpha: 3.3.0-alpha.13     latest: 3.3.4             v2-alpha: 2.7.0-alpha.12
beta: 3.3.0-beta.5        legacy: 2.6.14            v2-beta: 2.7.0-beta.8
csp: 1.0.28-csp           next: 3.2.36              v2-latest: 2.7.14

published a week ago by yyx990803 <yyx990803@gmail.com>
npm notice
npm notice New minor version of npm available! 9.5.1 -> 9.6.7
npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.6.7
npm notice Run npm install -g npm@9.6.7 to update!
npm notice

C:\WINDOWS\system32>
在使用 `npm run serve` 启动 Vue 项目时,遇到 **vue-cli 路径错误** 导致启动失败,通常与项目依赖、全局或本地安装的 `@vue/cli-service` 路径配置有关。以下是一些常见且有效的解决方法: ### 1. 确保 Node.jsVue CLI 正确安装 首先,验证 Node.jsVue CLI 是否已正确安装。在项目根目录下打开终端,运行以下命令: ```bash node -v npm -v vue --version ``` 如果命令无法识别或返回错误,说明 Node.jsVue CLI 未正确安装。需前往 [Node.js 官网](https://nodejs.org) 下载并安装,同时确保将安装路径添加到系统环境变量中。安装完成后,再次验证版本信息[^1]。 ### 2. 本地安装 `@vue/cli-service` 即使全局安装了 Vue CLI,某些项目可能依赖本地安装的 `@vue/cli-service`。运行以下命令确保该模块已安装: ```bash npm install @vue/cli-service --save-dev ``` 该命令会将 `@vue/cli-service` 安装至项目目录下的 `node_modules` 文件夹,并将其添加到 `package.json` 的 `devDependencies` 中。这有助于解决路径未正确识别导致的问题[^1]。 ### 3. 删除 node_modules 和 package-lock.json 并重新安装依赖 如果上述方法无效,可能是由于依赖版本冲突或路径异常。可以尝试删除 `node_modules` 文件夹和 `package-lock.json` 文件,然后重新安装依赖: ```bash rm -rf node_modules package-lock.json npm install ``` 此操作会清除旧的依赖关系,并根据 `package.json` 中的配置重新安装所有依赖,有助于解决路径错误和依赖冲突问题[^2]。 ### 4. 检查 package.json 中的 scripts 配置 确认 `package.json` 文件中的 `scripts` 字段是否包含正确的启动命令: ```json "scripts": { "serve": "vue-cli-service serve" } ``` 若 `vue-cli-service` 命令未正确配置,可能导致路径解析失败。确保命令拼写无误,并与 `@vue/cli-service` 的实际路径匹配。 ### 5. 使用 npx vue-cli-service 启动服务 如果仍无法解决问题,可以尝试使用 `npx` 命令启动服务,该方式会自动查找本地安装的 `@vue/cli-service`: ```bash npx vue-cli-service serve ``` 该命令绕过了 `scripts` 中的配置,直接调用本地依赖,适用于调试路径错误问题。 ### 6. 设置 npm 配置路径 在某些情况下,npm 的全局安装路径可能未正确配置。可以通过以下命令查看当前全局路径: ```bash npm config get prefix ``` 如果路径未添加到系统环境变量中,可使用以下命令设置全局路径(以 Windows 为例): ```bash npm config set prefix "C:\Program Files\nodejs" ``` 随后将该路径添加到系统环境变量的 `PATH` 中,以确保命令行工具能够正确识别全局安装的模块。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值