撸 nodejs 使用 cnpm 的正确姿势

2016-08-19 15:05:37 +08:00
 chaoyue

前置

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 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 位例:

  1. 开始按钮位置右键 > 点击 系统

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

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

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

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

三. 使用 cnpm 命令

好处?

为什么不用 cnpm 官方的 npm 包? 好处与问题同在, cnpm 的包可能跟不上 npm 的更新速度,如之前 npm 更新到 3.* 而 cnpm 还在 2.* 无法使用 npm 3.* 新依赖解析。

另外附上本人小博 icoding.so,同步更新。

8432 次点击
所在节点    Node.js
1 条回复
popo233
2016-08-19 20:14:22 +08:00
怎么我的 cnpm 都是 4.*

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/300440

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX