文档章节

nodejs 环境安装与问题解决

 千山万水
发布于 2015/05/28 15:22
字数 1610
阅读 128
收藏 7
快速搭建 Node.js 开发环境以及加速 npm


在公交车上刷微博,还是有很多同学在咨询:

  • 如何快速搭建 node 开发环境
  • npm 超慢
  • github 无法打开的问题

于是我觉得应该写一篇文章解答所有这些起步问题,让新同学也能顺顺利利入门。

快速搭建 Node.js 开发环境

如果你想长期做 node 开发, 或者想快速更新 node 版本, 或者想快速切换 node 版本, 那么在非 Windows(如 osx, linux) 环境下, 请使用 nvm 来安装你的 node 开发环境, 保持系统的干净.

如果你使用 Windows 做开发, 那么你可以使用 nvmw 来替代 nvm

osx, linux 环境

如果你是 windows 环境开发, 请跳过这里, 直接查看下一章.

git clone nvm

直接从 github clone nvm 到本地, 这里假设大家都使用~/git目录存放 git 项目:

$ cd ~/git
$ git clone https://github.com/creationix/nvm.git

配置终端启动时自动执行source ~/git/nvm/nvm.sh, 在~/.bashrc,~/.bash_profile,~/.profile, 或者~/.zshrc文件添加以下命令:

source ~/git/nvm/nvm.sh

重新打开你的终端, 输入nvm

$ nvm Node Version Manager Usage: nvm help Show this message
    nvm --version Print out the latest released version of nvm
    nvm install [-s] <version> Download and install a <version>, [-s] from source
    nvm uninstall <version> Uninstall a version
    nvm use <version> Modify PATH to use <version> nvm run <version> [<args>] Run <version> with <args> as arguments
    nvm current Display currently activated version
    nvm ls List installed versions
    nvm ls <version> List versions matching a given description
    nvm ls-remote List remote versions available for install
    nvm deactivate Undo effects of NVM on current shell
    nvm alias [<pattern>] Show all aliases beginning with <pattern> nvm alias <name> <version> Set an alias named <name> pointing to <version> nvm unalias <name> Deletes the alias named <name> nvm copy-packages <version> Install global NPM packages contained in <version> to current version Example: nvm install v0.10.24 Install a specific version number
    nvm use 0.10 Use the latest available 0.10.x release
    nvm run 0.10.24 myApp.js Run myApp.js using node v0.10.24 nvm alias default 0.10.24 Set default node version on a shell Note: to remove, delete or uninstall nvm - just remove ~/.nvm, ~/.npm and ~/.bower folders

通过 nvm 安装任意版本的 node

nvm 默认是从 http://nodejs.org/dist/ 下载的, 国外服务器, 必然很慢, 好在 nvm 以及支持从镜像服务器下载包, 于是我们可以方便地从七牛的 node dist 镜像下载:

$ NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/dist nvm install 0.11.11

于是你就会看到一段非常快速进度条:

######################################################################## 100.0% Now using node v0.11.11

如果你不想每次都输入环境变量NVM_NODEJS_ORG_MIRROR, 那么我建议你加入到.bashrc文件中:

# nvm export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/dist source ~/git/nvm/nvm.sh

然后你可以继续非常方便地安装各个版本的 node 了, 你可以查看一下你当前已经安装的版本:

$ nvm ls
         nvm
     v0.8.26 v0.10.26 v0.11.11 -> v0.11.12

windows 环境

git clone nvmw

直接从 github clone nvmw 到本地, 这里假设大家都使用d:\git目录存放 git 项目:

$ d: $ cd git
$ git clone https://github.com/hakobera/nvmw.git

设置d:\git\nvmw目录到你的PATH环境变量中:

set "PATH=d:\git\nvmw;%PATH%"

重新打开你的终端, 输入nvmw

$ nvmw Usage: nvmw help Show this message
  nvmw install [version] Download and install a [version] nvmw uninstall [version] Uninstall a [version] nvmw use [version] Modify PATH to use [version] nvmw ls List installed versions Example: nvmw install v0.6.0 Install a specific version number
  nvmw use v0.6.0 Use the specific version

通过 nvmw 安装任意版本的 node

nvmw 默认是从 http://nodejs.org/dist/ 下载的, 国外服务器, 必然很慢, 好在 nvmw 以及支持从镜像服务器下载包, 于是我们可以方便地从七牛的 node dist 镜像下载:

$ set "NVMW_NODEJS_ORG_MIRROR=https://npm.taobao.org/dist" $ nvmw install 0.11.11

于是你就会看到一段非常快速进度条:

######################################################################## 100.0% Now using node v0.11.11

如果你不想每次都输入环境变量NVMW_NODEJS_ORG_MIRROR, 那么我建议你在全局环境变量中增加它.

然后你可以继续非常方便地安装各个版本的 node 了, 你可以查看一下你当前已经安装的版本:

$ nvmw ls

v0.10.26 v0.11.12 Current: v0.11.12

到此, 无论是 windows 环境, 还是 osx, linux 环境, 都能快速安装多个版本的 node 了.

使用 cnpm 加速 npm

同理 nvm , npm 默认是从国外的源获取和下载包信息, 不慢才奇怪. 可以通过简单的---registry参数, 使用国内的镜像 https://registry.npm.taobao.org :

$ npm --registry=https://registry.npm.taobao.org install koa

于是屏幕又哗啦哗啦地一大片输出:

$ npm --registry=https://registry.npm.taobao.org install koa npm http GET https://registry.npm.taobao.org/koa npm http 200 https://registry.npm.taobao.org/koa ... npm http 200 https://registry.npm.taobao.org/negotiator npm http 200 https://registry.npm.taobao.org/keygrip koa[@0](/user/0).5.2 node_modules/koa ├── koa-compose[@2](/user/2).2.0 ├── statuses[@1](/user/1).0.2 ├── finished[@1](/user/1).1.1 ├── escape-html[@1](/user/1).0.1 ├── only[@0](/user/0).0.2 ├── debug[@0](/user/0).8.0 ├── fresh[@0](/user/0).2.2 ├── type-is[@1](/user/1).0.1 ├── delegates[@0](/user/0).0.3 ├── mime[@1](/user/1).2.11 ├── co[@3](/user/3).0.5 ├── accepts[@1](/user/1).0.1 (negotiator[@0](/user/0).4.2) └── cookies[@0](/user/0).4.0 (keygrip[@1](/user/1).0.0)

但是毕竟镜像跟官方的 npm 源还是会有一个同步时间差异, 目前 cnpm 的默认同步时间间隔是 15 分钟. 如果你是模块发布者, 或者你想马上同步一个模块, 那么推荐你安装 cnpm cli:

$ npm --registry=https://registry.npm.taobao.org install cnpm -g

通过 cnpm 命令行, 你可以快速同步任意模块:

$ cnpm sync koa connect mocha

呃, 我就是不想安装 cnpm cli 怎么办? 哈哈, 早就想到你会这么懒了, 于是我们还有一个 web 页面:

例如我想马上同步 koa, 直接打开浏览器: https://npm.taobao.org/sync/koa

或者你是命令行控, 通过 open 命令打开:

$ open https://npm.taobao.org/sync/koa

如果你安装的模块依赖了 C++ 模块, 需要编译, 肯定会通过 node-gyp 来编译, node-gyp 在第一次编译的时候, 需要依赖 node 源代码, 于是又会去 node dist 下载, 于是大家又会吐槽, 怎么 npm 安装这么慢…

好吧, 于是又要提到--disturl参数, 通过七牛的镜像来下载:

$ npm --registry=https://registry.npm.taobao.org --disturl=https://npm.taobao.org/dist install microtime

再次要提到 cnpm cli, 它已经默认将--registry和--disturl都配置好了, 谁用谁知道 . 写到这里, 就更快疑惑那些不想安装 cnpm cli 又吐槽 npm 慢的同学是基于什么考虑不在本地安装一个 cnpm 呢?

github 好慢

好了, 看到这里大家应该对 node 和 npm 已经没有速度慢的问题了.

github 慢, 或者说是它的资源 host 被堵而已, 大家可以通过简单的 hosts 映射解决:

185.31.16.184 github.global.ssl.fastly.net



错误:

npm ERR! Error: failed to fetch from registry: supervisor

npm config set registry http://registry.npmjs.org/  



npm安装用代理也不错。

npm config set proxy=http://127.0.0.1:8087

npm config set registry=http://registry.npmjs.org



© 著作权归作者所有

下一篇: bat命令学习
粉丝 24
博文 154
码字总数 137320
作品 0
厦门
私信 提问
Mac环境 部署Node.js环境 安装Angular CLI 解决找不到ng命令的问题

Mac环境 部署Node.js环境 安装Angular CLI 解决找不到ng命令的问题 2018年02月08日 23:34:56 阅读数:207 写这篇博客的原因是本人最近在学习AngularJS 公司环境是Ubuntu 家里环境是macOS 公司...

一真的鱼
2018/05/09
455
0
debian5 安装node.js

node.js安装环境需要python的版本是2.6或者2.7以后的,而在debian5上默认的python版本是2.5的,所以第一步得先升级python版本,然后才能安装node.js。 1 安装编译环境 apt-get install buil...

China_OS
2013/10/14
202
0
环信webim1.1.2版本在windows下npm环境搭建错误解决

1.1.2版本的webim从ui到整体的代码结构都做了很大改变,从代码结构上采用node.js的环境进行开发和打包,最终打包的输出项目,不依赖node.js的环境进行运行,得益于webpack的打包实现。 这里有...

easonjim
2016/09/01
0
0
在Solaris上编译安装Node.js

在写这篇文章之前,先发个感叹:我就从来没有顺顺利利的在Solaris上面装过软件。总是会遇到各种各样奇怪的问题。迄今为止最顺利的安装是Redis:没有任何的依赖,下载解压,直接make就过了。 ...

ilxlf
2011/09/09
199
0
vue.js在windows本地下搭建环境和创建项目。

Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方...

皇冠小丑
2016/12/26
322
0

没有更多内容

加载失败,请刷新页面

加载更多

IDEA 拉取、上传、更新 项目到 Gitee+GitHub_超详细超简单版

注:本人使用的idea是最新版(2019.1.2),要是其他的版本的不要惊慌〜,基本上都一样,没有什么太大的差别的 首先我要说一下,拉取项目分两个,一个,你就没有项目,拉取仓库的整个项目,而...

杨木发
今天
54
0
pyqt5环境搭建(Ubuntu19.10+pycharm+python3)

1.安装pyqt5 sudo apt-get install python3-pyqt5 sudo apt-get install qttools5-dev-tools sudo apt-get install qt5-default 2.安装pycharm 下载pycharm社区版安装包并解压 在桌面新建pyc......

小芯片
今天
54
0
Vue造轮子-tab组件(中)

1. 如果给一个标签一个class,标签本身又有class,vue是默认会合并的。只有两个属性是这样一个是class,一个是style。这样就比较好改样式。 <g-tabs-head class="red"></g-tabs> 2. 组件的...

ories
昨天
59
0
Windows 版本 Anaconda 配置加速源安装软件

C:\Users\lenovo\.condarc 首先安装Anaconda最新版本。 其次添加安装目录到环境变量。文本为 C:\ProgramData\Anaconda3\Library\bin 运行 conda 命令在 Windows 用户下生成文件 .conda...

白豆腐徐长卿
昨天
232
0
如何从Bash函数返回字符串值

我想从Bash函数返回一个字符串。 我将用Java编写示例以显示我想做的事情: public String getSomeString() { return "tadaa";}String variable = getSomeString(); 下面的示例在bash中...

javail
昨天
71
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部