NodeJS 初学之安装配置环境
时间:2022-05-04
本文章向大家介绍NodeJS 初学之安装配置环境,主要内容包括1.环境安装、1.2 安装node、参考、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
1.环境安装
操作系统: Ubuntu 16.04.2 LTS
1.1安装nvm
ryan@ryan-900X5L:~/temp$ curl https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash
- Note
v0.33.4
is the latest version from creationix/nvm - 安装好后,关闭重新打开terminal,输入
nvm
可以验证是否安装 - 安装目录默认是~/.nvm
使用淘宝镜像
国内环境,使用淘宝镜像。配置环境变量,修改.bashrc
追加
# taobao npm mirror
export NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node
windows安装nvm:
下安装包,安装:https://github.com/coreybutler/nvm-windows/releases
设置淘宝镜像
nvm node_mirror http://npm.taobao.org/mirrors/node/
nvm npm_mirror https://npm.taobao.org/mirrors/npm/
1.2 安装node
安装最新的node
nvm install node
或者指定node版本
ryan@ryan-900X5L:~$ nvm install 6.11.4
然后可以检查当前已安装的node版本
ryan@ryan-900X5L:~$ nvm ls
iojs-v3.3.1
-> v6.11.4
v8.7.0
default -> node (-> v8.7.0)
node -> stable (-> v8.7.0) (default)
stable -> 8.7 (-> v8.7.0) (default)
iojs -> iojs-v3.3 (-> iojs-v3.3.1) (default)
lts/* -> lts/boron (-> v6.11.4)
lts/argon -> v4.8.4 (-> N/A)
lts/boron -> v6.11.4
可以看到箭头指向了 v6.11.4
, 现在切换回最新版本:
ryan@ryan-900X5L:~$ nvm use 8.7.0
这时候可以查看node版本
ryan@ryan-900X5L:~$ node -v
v8.7.0
ryan@ryan-900X5L:~$ npm -v
5.4.2
安装淘宝镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
注意,此时cnpm
是安装在当前的npm版本下的。比如:
ryan@ryan-900X5L:~$ nvm use 6.11.4
Now using node v6.11.4 (npm v3.10.10)
ryan@ryan-900X5L:~$ node -v
v6.11.4
ryan@ryan-900X5L:~$ cnpm
未找到 'cnpm' 命令,您要输入的是否是:
命令 'cpm' 来自于包 'cpm' (universe)
命令 'npm' 来自于包 'npm' (universe)
命令 'cxpm' 来自于包 'xpmutils' (universe)
cnpm:未找到命令
ryan@ryan-900X5L:~$ nvm use 8.7.0
Now using node v8.7.0 (npm v5.4.2)
ryan@ryan-900X5L:~$ cnpm -v
cnpm@5.1.1 (/home/ryan/.nvm/versions/node/v8.7.0/lib/node_modules/cnpm/lib/parse_argv.js)
npm@5.5.1 (/home/ryan/.nvm/versions/node/v8.7.0/lib/node_modules/cnpm/node_modules/npm/lib/npm.js)
node@8.7.0 (/home/ryan/.nvm/versions/node/v8.7.0/bin/node)
npminstall@3.1.4 (/home/ryan/.nvm/versions/node/v8.7.0/lib/node_modules/cnpm/node_modules/npminstall/lib/index.js)
prefix=/home/ryan/.nvm/versions/node/v8.7.0
linux x64 4.8.0-58-generic
registry=http://registry.npm.taobao.org
这种不好的是,更新替换npm需要重新安装cnpm. 于是可以推荐这样做:
在~/.bashrc
中添加alias:
echo '#alias for cnpm
alias cnpm="npm --registry=https://registry.npm.taobao.org --cache=~/.npm/.cache/cnpm --disturl=https://npm.taobao.org/dist --userconfig=~/.cnpmrc"' >> ~/.bashrc && source ~/.bashrc
这样,不论npm切换什么版本,cnpm都可以使用:
ryan@ryan-900X5L:~$ node -v
v8.7.0
ryan@ryan-900X5L:~$ cnpm -v
5.4.2
ryan@ryan-900X5L:~$ nvm ls
iojs-v3.3.1
v6.11.4
-> v8.7.0
default -> node (-> v8.7.0)
node -> stable (-> v8.7.0) (default)
stable -> 8.7 (-> v8.7.0) (default)
iojs -> iojs-v3.3 (-> iojs-v3.3.1) (default)
lts/* -> lts/boron (-> v6.11.4)
lts/argon -> v4.8.4 (-> N/A)
lts/boron -> v6.11.4
ryan@ryan-900X5L:~$ nvm use 6.11.4
Now using node v6.11.4 (npm v3.10.10)
ryan@ryan-900X5L:~$ cnpm -v
3.10.10
如果把terminal关闭之后,再重新打开发现
ryan@ryan-900X5L:~$ node
程序“node”尚未安装。 您可以使用以下命令安装:
sudo apt install nodejs-legacy
什么鬼?没装上?
如果遇到这个,可以查看当前nvm ls
, 发现并没有指定node 版本,这时候,nvm use 6.11.4
指定一个版本就可以了。
安装yarn
参照 https://yarnpkg.com/zh-Hans/docs/install
设置淘宝镜像
yarn config set registry https://registry.npm.taobao.org
参考
- https://github.com/alsotang/node-lessons/tree/master/lesson0
- https://fengmk2.com/blog/2014/03/node-env-and-faster-npm.html
- https://github.com/cnpm/nvm
- https://npm.taobao.org/
- 如何删除WordPress 的“多站点”模式(multisite)?
- 部分Sonos及Bose扬声器爆安全漏洞,被黑客入侵后发出特定音频
- TCP - WAIT状态及其对繁忙的服务器的影响
- 在Windows 7/Server 2008 R2上部署asp.net 1.1程序
- CSS Auto Reload:解放F5 键,自动刷新浏览器的前端利器(Chrome 扩展)
- zepto 基础知识(3)
- 1.[Andriod]之Andriod布局 VS WinPhone布局
- WordPress自定义url 中的“author” 别名
- ASP.NET 4 AppFabric 输出缓存提供程序
- WordPress 中禁止编辑“已发布”的文章
- Windows Server 2008 R2 网络负载平衡 (NLB)资料汇总
- 0.[Andriod]之从零安装配置Android Studio并编写第一个Android App
- WordPress 后台编辑文章页面添加自定义提示文字
- 使用json 和jQuery制作级联dropdownlist
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Tomcat CPU占用100%异常分析与处理
- Solr基本搭建及MySQL配置
- Tomcat, Jre 证书相关
- zookeeper集群搭建
- Maven Jar包制作与上传及基本使用
- 当你在`bind 0.0.0.0`的时候,你实际在做什么
- Hadoop Hive Hbase Kylin 环境搭建
- Spring MVC 学习
- RSeQC判断链特异性(strand-specific)
- bigWigMerge合并bigwig文件
- WPF桌面开发集成Nginx服务器
- chrome浏览器拦截(block)特定网站某些请求的方法
- 聊一聊:一道 Promise 链式调用的题目
- linux编译运行c++程序
- Python的运算符 (下)