<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>NVM on Dapeng Zhang</title><link>https://zhangdapeng.dev/tags/nvm/</link><description>Recent content in NVM on Dapeng Zhang</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Tue, 01 Jul 2025 11:54:15 +0000</lastBuildDate><atom:link href="https://zhangdapeng.dev/tags/nvm/index.xml" rel="self" type="application/rss+xml"/><item><title>NVM管理node，并加速nvm、加速npm</title><link>https://zhangdapeng.dev/p/nvm-guan-li-node-bing-jia-su-nvm-jia-su-npm/</link><pubDate>Tue, 01 Jul 2025 11:54:15 +0000</pubDate><guid>https://zhangdapeng.dev/p/nvm-guan-li-node-bing-jia-su-nvm-jia-su-npm/</guid><description>&lt;p&gt;nvm的安装请转到这里：&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://github.com/creationix/nvm" target="_blank" rel="noopener"
 &gt;https://github.com/creationix/nvm&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;下面先说nvm的加速&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;nvm 默认是从 &lt;a class="link" href="http://nodejs.org/dist/" target="_blank" rel="noopener"
 &gt;http://nodejs.org/dist/&lt;/a&gt; 下载的, 国外服务器, 必然很慢,&lt;/p&gt;
&lt;p&gt;好在 nvm 以及支持从镜像服务器下载包, 于是我们可以方便地从七牛的 node dist 镜像下载:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ NVM_NODEJS_ORG_MIRROR&lt;span style="color:#f92672"&gt;=&lt;/span&gt;http://dist.u.qiniudn.com nvm install 0.12.7
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;于是你就会看到一段非常快速进度条:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;######################################################################## 100.0%&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Now using node v0.12.7
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果你不想每次都输入环境变量 NVM_NODEJS_ORG_MIRROR, 那么我建议你加入到 .bashrc 文件中:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# nvm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export NVM_NODEJS_ORG_MIRROR&lt;span style="color:#f92672"&gt;=&lt;/span&gt;http://dist.u.qiniudn.com
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;source ~/git/nvm/nvm.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后你可以继续非常方便地安装各个版本的 node 了, 你可以查看一下你当前已经安装的版本:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nvm ls
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;查看远端的&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nvm ls-remote
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;下面再说下npm加速&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;同理 nvm , npm 默认是从国外的源获取和下载包信息, 不慢才奇怪.&lt;/p&gt;
&lt;p&gt;可以通过简单的 &amp;mdash;registry 参数, 使用国内的镜像 &lt;a class="link" href="http://r.cnpmjs.org" target="_blank" rel="noopener"
 &gt;http://r.cnpmjs.org&lt;/a&gt; :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ npm --registry&lt;span style="color:#f92672"&gt;=&lt;/span&gt;http://r.cnpmjs.org install koa
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;但是毕竟镜像跟官方的 npm 源还是会有一个同步时间差异, 目前 cnpm 的默认同步时间间隔是 15 分钟.&lt;/p&gt;
&lt;p&gt;如果你是模块发布者, 或者你想马上同步一个模块, 那么推荐你安装 cnpm cli:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ npm --registry&lt;span style="color:#f92672"&gt;=&lt;/span&gt;http://r.cnpmjs.org install cnpm -g
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;通过 cnpm 命令行, 你可以快速同步任意模块:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ cnpm sync koa connect mocha
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;呃, 我就是不想安装 cnpm cli 怎么办? 哈哈, 早就想到你会这么懒了, 于是我们还有一个 web 页面:&lt;/p&gt;
&lt;p&gt;例如我想马上同步 koa, 直接打开浏览器: &lt;a class="link" href="http://cnpmjs.org/sync/koa" target="_blank" rel="noopener"
 &gt;http://cnpmjs.org/sync/koa&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;或者你是命令行控, 通过 open 命令打开:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ open http://cnpmjs.org/sync/koa
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item></channel></rss>