node和npm

早上打算写点东西的,但是用hexo创建文件失败了,继而发现npm命令用不了了,很奇怪的问题,可以使用node -v查看node的版本,但是npm用不了,然后就查了很多,最后把node删除重装了下,下面记录一下npde和npm的相关性和如何使用。

首先说说这两个是什么东西

node.js

  • Node.js 是一个 Javascript 运行环境(runtime environment),不是一个 js 文件

  • Node.js 是一个基于 Chrome V8 引擎的 Javascript 运行环境,是用 C++ 写的

  • Node.js 不是库,是一个运行环境,或者说是一个 JS 语言解释器

npm(Node Package Manager)

npm是nodejs的包管理器(package manager)

nodejs中含有npm,比如说你安装好nodejs,你打开cmd输入npm -v会发现出啊线npm的版本号,说明npm已经安装好。

卸载node.js

因为npm用不了的原因,我还是选择了卸载node,下面是网上找到的一些步骤

  • 从卸载程序卸载程序和功能,也可以直接右键node.js的安装包并选择卸载。

  • 从下列的目录中找到相关的内容并删除掉:

    C:\Program Files (x86)\nodejs
    C:\Program Files\nodejs
    C:\Users{User}\AppData\Roaming\npm(或%appdata%\npm)
    C:\Users{User}\AppData\Roaming\npm-cache(或%appdata%\npm-cache)

  • 重新启动(或者重新启动任务管理器杀死所有与节点相关的进程)。

检查%PATH%环境变量以确保没有引用Nodejs或npm存在。 重新启动电脑。

安装nvm-windows并使用

安装

在Linux上我一直使用nvm来管理nodejs的不同版本,但是nvm没有windows版本,所以这是一个适用于 Windows 的 node.js 版本管理实用程序。

下载nvm-windows

  • nvm-noinstall.zip: 这个是绿色免安装版本,但是使用之前需要配置
  • nvm-setup.zip:这是一个安装包,下载之后点击安装,无需配置就可以使用,方便。
  • Source code(zip):zip压缩的源码
  • Sourc code(tar.gz):tar.gz的源码,一般用于*nix系统

我们安装nvm-setup.zip,下载好后,双击nvm-setup.exe安装,安装时nvm和nodejs目录必须填不包含空格的路径,我使用的是D:\develope_tools,注意这里没有空格

使用

安装好后:

1
2
$ nvm version
1.1.9

如果是第一次安装,使用该命令结果如下:

1
2
$ nvm list
No installations recognized.

查看可以安装的nodejs版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$ nvm list available

| CURRENT | LTS | OLD STABLE | OLD UNSTABLE |
|--------------|--------------|--------------|--------------|
| 17.7.1 | 16.14.1 | 0.12.18 | 0.11.16 |
| 17.7.0 | 16.14.0 | 0.12.17 | 0.11.15 |
| 17.6.0 | 16.13.2 | 0.12.16 | 0.11.14 |
| 17.5.0 | 16.13.1 | 0.12.15 | 0.11.13 |
| 17.4.0 | 16.13.0 | 0.12.14 | 0.11.12 |
| 17.3.1 | 14.19.0 | 0.12.13 | 0.11.11 |
| 17.3.0 | 14.18.3 | 0.12.12 | 0.11.10 |
| 17.2.0 | 14.18.2 | 0.12.11 | 0.11.9 |
| 17.1.0 | 14.18.1 | 0.12.10 | 0.11.8 |
| 17.0.1 | 14.18.0 | 0.12.9 | 0.11.7 |
| 17.0.0 | 14.17.6 | 0.12.8 | 0.11.6 |
| 16.12.0 | 14.17.5 | 0.12.7 | 0.11.5 |
| 16.11.1 | 14.17.4 | 0.12.6 | 0.11.4 |
| 16.11.0 | 14.17.3 | 0.12.5 | 0.11.3 |
| 16.10.0 | 14.17.2 | 0.12.4 | 0.11.2 |
| 16.9.1 | 14.17.1 | 0.12.3 | 0.11.1 |
| 16.9.0 | 14.17.0 | 0.12.2 | 0.11.0 |
| 16.8.0 | 14.16.1 | 0.12.1 | 0.9.12 |
| 16.7.0 | 14.16.0 | 0.12.0 | 0.9.11 |
| 16.6.2 | 14.15.5 | 0.10.48 | 0.9.10 |

This is a partial list. For a complete list, visit https://nodejs.org/en/download/releases

安装指定版本的node

这里我一开始安装的是一个比较新的版本17.7.0,后来发现还是会有冲突,我打开的前端项目也是无法使用npm的。

安装命令:

1
nvm install 17.7.0

这里可以配置下代理会下载快一点,可以在命令行输入,下面的代理端口根据自己本地的进行设置。

set https_proxy=http://127.0.0.1:1082

查看已安装的版本

1
nvm ls

使用指定版本的node

1
2
3
4
5
nvm use 13.14.0

17.7.0
16.14.0
* 13.14.0 (Currently using 64-bit executable)

删除指定版本的node

1
nvm uninstall 17.7.0

注意的问题

环境变量

在node安装完成时,环境变量会自动的添加,环境变量中会有如下两个变量

desc

前端项目使用npm报错

npm ERR! code 1

npm ERR! path D:…\node-sass

npm ERR! command failed

项目在运行npm install之后报了这样的错误

网上搜索到说是版本的问题,可能是node.js的版本和node-sass的版本不合

解决方法

更改自己的node.js的版本,下一个符合node-sass版本的node.js

查看需要的node-sass的版本

可以在https://www.npmjs.com/package/node-sass上查询

desc

到这里问题就发现了,我开始安装的node版本是17的版本,对应的node-sass的版本应该是7.0+

然后我去项目中的package.json文件中发现node-sass的版本是4.13.1

1
"node-sass": "4.13.1",

然后只需要去更换一下node的版本为13的就可以了

- - - - - - - - - - - - - 文 章 结 束 感 谢 阅 读 - - - - - - - - - - - - -