撸 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
了。