node.js安装过程中遇到的坑

node.js的安装

  1. noide.js的完全卸载

  2. node.js的安装

  3. 一些报错的解决

1.node.js的完全卸载

第一步:打开系统自带的应用管理器 卸载ndoe.js。

第二步:删除和node.js相关的文件夹。比如C:\Users\AppData\Roaming\npm文件夹

第三步: 删除C:\Users\AppDat

目录下与node.js有关的文件,比如.npmc。

第四步:删除环境变量中与node.js有关的路径配置

第五部:cmd中输入 where node检查是否删除

2.node.js的安装

第一步:去官网下载想要安装的ndoe.js版本

官网下载地址:https://nodejs.org/zh-cn/download/

第二步:点击下载好的msi格式安装包,然后一路next到低。

第三步:cmd 依次输入 node 和 nmp 查看是否安装成功

第四步:如有报错,跳转解决报错

第五步:如果需要改变npm安装模块的目录,默认模块在C:\Users\Administrator\AppData\Roaming\npm\node_modules

可以使用命令:npm root -g 查看

  1. 在ndoe目录下创建空文件node_global 、node_cache
  2. 在cmd中使用命令

npm config set prefix "C:\Program Files\nodejs\node_global"

npm config set cache "C:\Program Files\nodejs\node_cache"

  1. 配置环境变量

NODE_HOME C:\Program Files\nodejs

NODE_PATH C:\Program Files\nodejs\node_global\node_modules

CNPM_PATH C:\Program Files\nodejs\node_modules\cnpm\bin

在系统变量path中新建%NODE_PATH%、%NODE_HOME%、%NODE_HOME%\node_global、%CNPM_PATH%

第六步:配置淘宝镜像,并下载cnpm。提高安装模块的速度
在cmd中输入命令

npm install -g cnpm --registry=https://registry.npm.taobao.org

3. 报错解决

报错一: npm报错:npm WARN config global '--global', '--local' are deprecated. Use '--location=global' instead.

解决 :修改node目录下的npm 和 npm.cmd 文件。

在第23 行 把 prefix -g 修改成 prefix --location=global

修改后的文件如下文件

npm文件,可用记事本打开或者vscode。修改需要权限

#!/usr/bin/env bash
(set -o igncr) 2>/dev/null && set -o igncr; # cygwin encoding fix

basedir=`dirname "$0"`

case `uname` in
  *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac

NODE_EXE="$basedir/node.exe"
if ! [ -x "$NODE_EXE" ]; then
  NODE_EXE="$basedir/node"
fi
if ! [ -x "$NODE_EXE" ]; then
  NODE_EXE=node
fi

# this path is passed to node.exe, so it needs to match whatever
# kind of paths Node.js thinks it's using, typically win32 paths.
CLI_BASEDIR="$("$NODE_EXE" -p 'require("path").dirname(process.execPath)')"
NPM_CLI_JS="$CLI_BASEDIR/node_modules/npm/bin/npm-cli.js"

NPM_PREFIX=`"$NODE_EXE" "$NPM_CLI_JS" prefix --location=global`
if [ $? -ne 0 ]; then
  # if this didn't work, then everything else below will fail
  echo "Could not determine Node.js install directory" >&2
  exit 1
fi
NPM_PREFIX_NPM_CLI_JS="$NPM_PREFIX/node_modules/npm/bin/npm-cli.js"

# a path that will fail -f test on any posix bash
NPM_WSL_PATH="/.."

# WSL can run Windows binaries, so we have to give it the win32 path
# however, WSL bash tests against posix paths, so we need to construct that
# to know if npm is installed globally.
if [ `uname` = 'Linux' ] && type wslpath &>/dev/null ; then
  NPM_WSL_PATH=`wslpath "$NPM_PREFIX_NPM_CLI_JS"`
fi
if [ -f "$NPM_PREFIX_NPM_CLI_JS" ] || [ -f "$NPM_WSL_PATH" ]; then
  NPM_CLI_JS="$NPM_PREFIX_NPM_CLI_JS"
fi

"$NODE_EXE" "$NPM_CLI_JS" "$@"

把12行的prefix -g改为prefix --location=global
修改后的npm.cmd文件

:: Created by npm, please don't edit manually.
@ECHO OFF

SETLOCAL

SET "NODE_EXE=%~dp0\node.exe"
IF NOT EXIST "%NODE_EXE%" (
  SET "NODE_EXE=node"
)

SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js"
FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix --location=global') DO (
  SET "NPM_PREFIX_NPM_CLI_JS=%%F\node_modules\npm\bin\npm-cli.js"
)
IF EXIST "%NPM_PREFIX_NPM_CLI_JS%" (
  SET "NPM_CLI_JS=%NPM_PREFIX_NPM_CLI_JS%"
)

"%NODE_EXE%" "%NPM_CLI_JS%" %*

报错二: npm WARN logfile could not create logs-dir: Error: EPERM: operation not permitted, mkdir ‘地址‘

解决 修改node目录的安全权限,找到node目录,右键属性 => 安全 => 设置users用户完全控制权限

报错三: cmd 输入npm或者node没有提示

解决: 检测node.js是否卸载干净,并卸载后重新安装node.js

报错四: 安装了cnpm后,cmd输入cnpm,提示没有该命令。

解决: 检查环境变量是否配置正确,在环境变量的path中直接添加 C:\Program Files\nodejs\node_global 也就是npcm所在的目录。同样可以解决某些全局安装的模块,无法通过命令启动的问题。

报错五: 提示没有node_global node_cache 文件目录。

解决:

在ndoe目录下创建空文件node_global 、node_cache

在cmd中使用命令:

npm config set prefix "C:\Program Files\nodejs\node_global"

npm config set cache "C:\Program Files\nodejs\node_cache"

posted @   黑猫魔法师  阅读(916)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示