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

npm i -g yarn

设置淘宝镜像

yarn config set registry https://registry.npm.taobao.org

yarn设置global bin环境变量:

You should add export PATH="\(PATH:\)(yarn global bin)" to your ~/.bash_profile or whatever you use. It would solve the issue.

默认: ~/.yarn/bin

https://stackoverflow.com/questions/40317578/yarn-global-command-not-working/40333409#40333409


参考

NodeJS 初学之安装配置环境的更多相关文章

  1. an'gularjs 环境搭建之NodeJS、NPM安装配置步骤(windows版本)

    NodeJS.NPM安装配置步骤(windows版本)  :http://xiaoyaojones.blog.163.com/blog/static/28370125201351501113581/ ...

  2. Windows环境下的NodeJS+NPM+Bower安装配置

    npm作为一个NodeJS的模块管理,之前我由于没有系统地看资料所以导致安装配置模块的时候走了一大段弯路,所以现在很有必要列出来记录下.我们要先配置npm的全局模块的存放路径以及cache的路径,例如 ...

  3. Windows环境下的NodeJS+NPM+Bower安装配置步骤

    Windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的“INSTALL”按钮 ...

  4. Nodejs 学习笔记 --- 安装与环境配置

    一.安装Node.js步骤 1.下载对应自己系统对应的 Node.js 版本,地址:https://nodejs.org/zh-cn/      2.选安装目录进行安装      3.环境配置    ...

  5. nodeJS 下载与安装,环境配置

    1.什么是nodeJs: 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台. Node.js是一 ...

  6. NodeJS、NPM安装配置步骤(windows版本)

    windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的"INSTA ...

  7. 【转载】NodeJS、NPM安装配置步骤(windows版本)

    1.windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的“INSTALL” ...

  8. [转]NodeJS、NPM安装配置步骤(windows版本)

    1.windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的“INSTALL” ...

  9. NodeJS、NPM安装配置与测试步骤(windows版本)

    1.windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的"INS ...

随机推荐

  1. 初入PHP,(for循环~水仙花数)

    找出100-999之间的所有"水仙花数".所谓水仙花数是指一个三位 数,各位数字的立方和等于该数本身.(如153次方=1的3次方+5的3次方+3的3次方)并输出这些数字 想想153 ...

  2. 团队作业4--第一次项目冲刺(Alpha版本)7

    一.Daily Scrum Meeting照片 二.燃尽图 三.项目进展 1.完成全部基础功能 2.完成一些小改进与优化 四.困难与问题 软件基本是可以运行并且正常使用,但还没有实战过,遇到的问题与困 ...

  3. 201521123109《java程序设计》第八周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 1.2 选做:收集你认为有用的代码片段 2. 书面作业 本次作业题集集合 List中指定元素的删除(题目4-1 ...

  4. 201521123056 《Java程序设计》第5周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 答: 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译 ...

  5. 201521123040《Java程序设计》第4周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 本周学习了类的继承,包括子类父类的概念还有extends关键字,super关键字.继承与代码 ...

  6. 201521123110 《JAVA程序设计》第3周学习总结

    1.本章学习总结 ` ` 2.书面作业 1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...

  7. 在linux下通过hexdump生成一个十六进制的文本保存文件,解析此文件转变成正常源代码文件。

    举例说明: 此十六进制保存的文件为此源代码hexdump生成的: #include<stdio.h> #include<string.h> #include<stdlib ...

  8. 2017年9月19日 JavaScript语法操作

    关于JavaScript个人还是觉得比较有意思的 {在</html>后面写或者在</body>前面写(必须紧贴</body>)} <script> va ...

  9. Hibernate第十一篇【配置C3P0数据库连接池、线程Session】

    Hibernate连接池 Hibernate自带了连接池,但是呢,该连接池比较简单..而Hibernate又对C3P0这个连接池支持-因此我们来更换Hibernate连接池为C3P0 查看Hibern ...

  10. Srping - bean的依赖注入(Dependency injection)

    目录 1 概述 2 两种基本的依赖注入方式 2.1 构造函数方式 2.2Setter方式 3 其他依赖注入功能 3.1 <ref/>标签引用不同范围的bean 3.2 内部bean 3.3 ...