首页 > 编程语言 >node.js安装过程中遇到的坑

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

时间:2022-08-17 11:16:10浏览次数:80  
标签:node npm NODE CLI NPM 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"

标签:node,npm,NODE,CLI,NPM,js,安装
From: https://www.cnblogs.com/aoCat/p/16594314.html

相关文章

  • js中的双问号和“?.“的含义和使用
    总结: this.approveRecords[2].files[0].id会报错因为files:[],所以写成this.approveRecords[2]?.files[0]?.id让它链不下去就好了??表示:只有左侧的值为null或undefin......
  • Windows11下使用WSL2安装Ubuntu(详解+踩坑)错误代码:0x800701bc
    前言曾经在Windows10上使用过WindowsforLinux后来换到Windows11,但因为WSL踩了不少坑。(因为Windows11升级之后使用的是WSL2而非Win10中的WSL1且无法自动升级,因此我们需......
  • docker 安装oracle
    1、docker安装参考:     https://www.cnblogs.com/snailgirl/p/15503867.html2、拉取镜像     dockerpullregistry.cn-hangzhou.aliyuncs.com/helowin......
  • java之fastjson序列化和反序列化
    全解史上最快的JSON解析库-alibabaFastjson:https://zhuanlan.zhihu.com/p/72495484Fastjson:https://blog.csdn.net/rustwei/article/details/121162202......
  • Docker 安装nacos
    1、拉取镜像dockerpullnacos/nacos-server:v2.1.02、准备挂载目录mkdir-p/home/myname/nacos/logs/mkdir-p/home/myname/nacos/init.d/vim/mydat......
  • Redis安装及常用配置
    Redis安装说明大多数企业都是基于Linux服务器来部署项目,而且Redis官方也没有提供Windows版本的安装包。因此课程中我们会基于Linux系统来安装Redis.此处选择的Linux版本......
  • ExtJS - UI组件 - MessageBox
    更新记录转载请注明出处:https://www.cnblogs.com/cqpanda/p/16587505.html2022年8月17日发布。2022年8月13日从笔记迁移到博客。ExtJS教程汇总:https://www.cnblog......
  • request.js?b775:101 Uncaught (in promise) Error: Failed to convert value of type
    request.js?b775:101Uncaught(inpromise)Error:Failedtoconvertvalueoftype'java.lang.String'torequiredtype'java.lang.Long';nestedexceptionisjava......
  • 多个Node.js版本之间切换
    本篇文章会讲windows和Mac系统下实现多个node.js版本之间的切换。1.windows下采用nvm(nvm-window)2.Mac下采用nvm和n注:window和mac下的nvm地址是不一样的一、windows系......
  • elastic search 安装,启动总结
    elasticsearch安装,启动个人机器:Anolis8.2下载地址https://repo.huaweicloud.com/elasticsearch/7.14.0/解压,新建用户【es不能以root启动】tar-xfuserad......