撸 Nodejs 使用 cnpm 的正确姿势
撸 Nodejs 使用 cnpm 的正确姿势
前置
Nodejs npm cnpm 不多做介绍。前置需要知道 windows 环境变量,并且对 linux 有一定了解.
直接上方法: 先 linux 后 windows, mac ? 本人无 mac 但是猜想可以参考 linux.
Linux
一. 建立 shell 文件 cnpm
与 windows 不同为了简单直接, 我们直接把文件建立在 /usr/local/bin. (需要 root 权限)
编辑文件内容如下:
#!/usr/bin/env bash
export ELECTRON_MIRROR=http://npm.taobao.org/mirrors/electron/
export SQLITE3_BINARY_SITE=http://npm.taobao.org/mirrors/sqlite3
export SASS_BINARY_SITE=http://npm.taobao.org/mirrors/node-sass
/usr/bin/npm --registry=https://registry.npm.taobao.org --cache=~/.npm/.cache/cnpm --disturl=https://npm.taobao.org/dist --userconfig=~/.cnpmrc $*
二. 赋予 cnpm 文件可执行权限.
命令:
chmod +x /usr/local/bin/cnpm
三. 使用 cnpm

Windows
一. 建立命令文件 cnpm.bat.
首先建立我们的命令文件 cnpm.bat 建立选择在一个非系统盘的目录,如: D:\Aliases\cnpm.bat
文件内容如下:
[@echo](/user/echo) off
set ELECTRON_MIRROR=http://npm.taobao.org/mirrors/electron/
set SQLITE3_BINARY_SITE=http://npm.taobao.org/mirrors/sqlite3
set SASS_BINARY_SITE=http://npm.taobao.org/mirrors/node-sass
npm --registry=https://registry.npm.taobao.org --cache=%HOMEDRIVE%%HOMEPATH%.npm.cache\cnpm --disturl=https://npm.taobao.org/dist --userconfig=%HOMEDRIVE%%HOMEPATH%.cnpmrc %*
注解:set 命令在将命令调用的参数传入 npm 之前设置环境变量。使 electron …… 这些包的安装一样可以走 npm 源。其他可用的源想添加请参照 cnpm mirrors
二. 将创建的命令加入 windows 环境变量.
以 win10 位例:
- 开始按钮位置右键 > 点击 系统

- 在新窗口中点击左侧 > 高级系统设置

- 在新窗口中点击右侧 > 环境变量

- 编辑系统变量
path, 双击即可

- 类似图上将
cnpm.bat文件添加到path环境变量.

三. 使用 cnpm 命令

好处?
为什么不用 cnpm 官方的 npm 包? 好处与问题同在, cnpm 的包可能跟不上 npm 的更新速度,如之前 npm 更新到 3.* 而 cnpm 还在 2.* 无法使用 npm 3.* 新依赖解析。
另外附上本人小博 icoding.so,同步更新。
怎么我的 cnpm 都是 4.*
在 Node.js 项目中使用 cnpm(China Node Package Manager)是一个不错的选择,特别是在中国大陆地区,因为它可以显著加速 npm 包的下载速度。以下是使用 cnpm 的正确姿势:
-
安装
cnpm: 首先,你需要全局安装cnpm。如果你已经安装了 Node.js 和 npm,可以通过以下命令安装cnpm:npm install -g cnpm --registry=https://registry.npmmirror.com -
验证安装: 安装完成后,你可以通过以下命令验证
cnpm是否安装成功:cnpm -v -
使用
cnpm安装依赖: 在你的 Node.js 项目中,你可以使用cnpm来代替npm安装依赖。例如,如果你有一个package.json文件,你可以运行:cnpm install这将根据
package.json文件中的依赖列表安装所有依赖。 -
运行项目: 安装完依赖后,你可以像平常一样运行你的 Node.js 项目。例如,如果你的项目入口文件是
index.js,你可以使用:node index.js -
注意事项:
- 尽量保持
cnpm和npm的版本同步,以避免潜在的兼容性问题。 - 如果你在使用
cnpm时遇到任何问题,可以尝试清除 npm/cnpm 缓存,或者检查网络连接。
- 尽量保持
通过以上步骤,你就可以在 Node.js 项目中高效地使用 cnpm 了。

