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. mysql时间戳的获取

    时间戳函数:current_timestamp() 在此位置添加时间戳函数. 然后整体的写法就是下图这样: 根据当前时间戳更新有没有打钩将决定你的时间是什么时间(一个是数据完成写入的时间,一个时间戳回 ...

  2. windows 下 Mutex和Critical Section 区别和使用

    Mutex和Critical Section都是主要用于限制多线程(Multithread)对全局或共享的变量.对象或内存空间的访问.下面是其主要的异同点(不同的地方用黑色表示). Mutex Cri ...

  3. 软工+C(2017第3期) 超链接

    // 上一篇:分数和checklist // 下一篇:Alpha/Beta换人 注:平常看文章,总有能和构建之法,软件工程相关的链接,增量记录,也可以通过在其他人博客的交流中使用相关的超链接,在使用中 ...

  4. Beta版本冲刺计划安排

    1.介绍小组新加入的成员,Ta担任的角色 王婧:web界面以及前端和后台的交互 柯怡芳:PM以及文档 陈艺菡:修复bug以及文档 钱惠:web界面以及前端和后台的交互 林凯:测试人员 吴伟君(新成员) ...

  5. 201521123026《Java程序设计》第8周学习总结

    1. 本章学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 2. 书面作业 Q1.1.List中指定元素的删除(题目4-1) 1.1 实验总结 答: 1.通过equals ...

  6. 201521123075 《Java程序设计》第7周学习总结

    1. 本周学习总结 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 源代码为 public boolean contains(Object o) ...

  7. 201521123049 《JAVA程序设计》 第7周学习总结

    1. 本周学习总结 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 //contains()方法 public boolean contains ...

  8. 201521044152<java程序设计>第一周学习总结

    本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...

  9. Java 课程设计 "Give it up"小游戏设计(个人) 201521123077

    1.团队课程设计博客链接 http://www.cnblogs.com/agts/p/7067948.html 2.个人负责模块或任务说明 个人任务:实现游戏画面的制作,游戏逻辑的编写,以及一些模块与 ...

  10. 201521123042 《Java程序设计》第12周学习总结

    本次作业参考文件 正则表达式参考资料 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象(属性:int id, String ...