npm和cnpm混用导致错误:不是内部或外部命令,也不是可运行的程序或批处理文件

众所周知npm的下载速度十分稳定,所以项目之初我就使用cnpm(npm即使是修改了源地址速度也无法与cnpm相比)
然后在对一个依赖进行安装时少打了一个字母c,使用了npm安装此时意外发生了,安装好依赖后整个项目直接崩溃,出现了不是内部或外部命令,也不是可运行的程序或批处理文件的错误

原因

cnpm为了让npm安装快速和容易默认使用npminstall进行下载,此时再使用npm下载可能会导致npm下载失败,并且这种混乱会影响到node_modules文件夹

解决方法

删除node_modules文件夹重新使用cnpm下载,若使用install -save进行安装可以通过cnpm install快速安装

为了防止再次出错,使用命令cnpm i --by=npm react-native,将安装程序更改为原始npm,但您将失去最快的安装速度—官方解释

npm install命令参数

npm install moduleName 命令

  1. 安装模块到项目node_modules目录下。
  2. 不会将模块依赖写入devDependencies或dependencies 节点。
  3. 运行 npm install 初始化项目时不会下载模块。

npm install -g moduleName 命令

  1. 安装模块到全局,不会在项目node_modules目录中保存模块包。
  2. 不会将模块依赖写入devDependencies或dependencies 节点。
  3. 运行 npm install 初始化项目时不会下载模块。

npm install -save moduleName 命令

  1. 安装模块到项目node_modules目录下。
  2. 会将模块依赖写入dependencies 节点。
  3. 运行 npm install 初始化项目时,会将模块下载到项目目录下。
  4. 运行npm install --production或者注明NODE_ENV变量值为production时,会自动下载模块到node_modules目录中。

npm install -save-dev moduleName 命令

  1. 安装模块到项目node_modules目录下。
  2. 会将模块依赖写入devDependencies 节点。
  3. 运行 npm install 初始化项目时,会将模块下载到项目目录下。
  4. 运行npm install --production或者注明NODE_ENV变量值为production时,不会自动下载模块到node_modules目录中。