关于node.js和npm 和nvm_byKL

关于node.js和npm 和nvm

  • Node 是一个服务器端 JavaScript 解释器,Node 本身运行 V8 JavaScript。V8 JavaScript 引擎是 Google 用于其 Chrome 浏览器的底层 JavaScript 引擎。

  • NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:

    • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。

    • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。

    • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

    • 由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。

  • nvm有点类似于 Python 的 virtualenv 或者 Ruby 的 rvm,php的composer,每个node版本的模块都会被安装在各自版本的沙箱里面(因此切换版本后模块需重新安装),因此考虑到需要时常对node版本进行切换测试兼容性和一些模块对node版本的限制,对于node版本管理很方便

安装node.js和npm

第一种:直接安装方式

https://nodejs.org/下载安装包,osx下是一个pkg文件。

安装成功提示:

Node.js was installed at/usr/local/bin/nodenpm was installed at/usr/local/bin/npmMake sure that /usr/local/bin is in your $PATH.

这样的话就不需要去刻意写PATH,默认/usr/local/bin/,在osx的PATH中,如果没有的话,那么需要手动添加一个export PATH=/usr/local/bin:$PATH ~/.bash_profile里面

安装成功后,打开终端

➜  git node -v 
v4.6.0
➜  git npm -v 
2.15.9

至此安装完成

第二种:使用nvm安装

将nvm的git 库clone到本地

$ cd ~/git
$ git clone https://github.com/creationix/nvm.git
//在本地创建一个存放git的目录,然后git clone下到本地
source ~/git/nvm/nvm.sh
//source这个脚本来初始化nvm的环境

备注:

  1. 在 ~/.bashrc, ~/.bash_profile, ~/.profile, 或者 ~/.zshrc 文件添加以下命令:source ~/git/nvm/nvm.sh

  2. nvm 默认是从 http://nodejs.org/dist/ 下载的, 国外服务器, 必然很慢,我们可以更换国内的镜像:

➜  git NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node nvm install 4VERSION_PATH=''
######################################################################## 100.0%
Computing checksum with shasum -a 256
Checksums matched!
Now using node v4.6.0 (npm v2.15.9)
Creating default alias: default -> 4 (-> v4.6.0)
  1. 写在profile文件,自动加载,不用每次手动操作

 cat ~/.bash_profile 
source ~/git/nvm/nvm.sh
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node

(这个也是需要将其写进去profile文件的(~/.bashrc, ~/.bash_profile, ~/.profile, 或者 ~/.zshrc ,其中一个即可))

安装完成后检查,第一次安装nvm完成的时候会自动安装一个最新版的node.js

➜  git nvm ls
->       v4.6.0system
default -> 4 (-> v4.6.0)
node -> stable (-> v4.6.0) (default)
stable -> 4.6 (-> v4.6.0) (default)
iojs -> N/A (default)
lts/* -> lts/argon (-> v4.6.0)
lts/argon -> v4.6.0

使用npm和nvm

npm使用

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

npm config set registry https://registry.npm.taobao.org/
npm install -g hexo  //例如我这里安装一个hexo模块也可以
npm --registry=https://registry.npm.taobao.org install -g hexo

备注:

  1. npm的-g参数是安装全局模块

由于淘宝已经停止了http的镜像服务,安装的时候,需要把npm config set registry https://registry.npm.taobao.org设置成https。

通过 nvm 安装任意版本的 node

如例子所示,nvm use可以切换node版本:

Example:nvm install v0.10.32                  Install a specific version numbernvm use 0.10                          Use the latest available 0.10.x releasenvm run 0.10.32 app.js                Run app.js using node v0.10.32nvm exec 0.10.32 node app.js          Run `node app.js` with the PATH pointing to node v0.10.32nvm alias default 0.10.32             Set default node version on a shell

参考:
https://cnodejs.org/topic/5338c5db7cbade005b023c98

http://www.eyrefree.org/2016/03/23/2016-03-23-Hexo-Coding-Pages/

http://www.jianshu.com/p/3baed1d862ce

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/541827.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 查看扩展 代码,[扩展推荐] 使用 PHP Insights 在终端查看 PHP 项目代码质量

PHP Insights 是一个由 Nuno Maduro 发布的、可在控制台进行 PHP 即时质量检查的拓展包。在项目的 readme 文件中,可以发现 PHP Insights 的主要功能包含:代码质量 与 代码风格 分析一个针对于代码 结构 和 复杂度 的漂亮的预览界面在 Laravel、Symfon…

航空机票预订c#代码_航空公司座位预订问题的C ++程序

航空机票预订c#代码Problem statement: Write a program to assign passengers seats in an airplane. Assume a small airplane with seat numbering as follows: 问题陈述:编写一个程序来分配飞机上的乘客座位。 假设小型飞机的座位编号如下: 1 A B C…

linux命令之which

which这个命令可以说并不常用,它的作用是查看可执行文件的位置,并返回第一个搜索结果。可执行文件也就是指的某个系统命令,但是这个命令的位置必须是在PATH路径里存在的。截图中 ,pwd的位置在/bin/pwd,当然,这个路径是…

线性代数向量乘法_向量的标量乘法| 使用Python的线性代数

线性代数向量乘法Prerequisite: Linear Algebra | Defining a Vector 先决条件: 线性代数| 定义向量 Linear algebra is the branch of mathematics concerning linear equations by using vector spaces and through matrices. In other words, a vector is a mat…

sonar扫描普通JAVA执行,SonarQube扫描源代码的方法

SonarQube扫描源代码的方法雷建锋一、分析源代码综述一旦成功安装了SonarQube平台,您就可以开始安装一个分析器并开始创建项目了。在第一次分析时,该平台会自动创建一个项目。如果您需要在第一个分析之前在项目上设置一些配置,那么您可以选择…

html的学习思维导图

转载于:https://www.cnblogs.com/lingdublog/p/6438088.html

php语言冒泡法,PHP实现冒泡排序算法的案例

PHP实现冒泡排序算法的案例发布时间:2020-10-23 17:39:38来源:亿速云阅读:84作者:小新这篇文章主要介绍PHP实现冒泡排序算法的案例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定…

线性代数分块矩阵求逆矩阵_单位矩阵属性(AI = A)| 使用Python的线性代数

线性代数分块矩阵求逆矩阵Prerequisites: 先决条件: Defining Matrix 定义矩阵 Identity matrix 身份矩阵 numpy.matmul( ) matrix multiplication numpy.matmul()矩阵乘法 In linear algebra, the identity matrix, of size n is the n n square matrix with one…

MySQL5.7.17的简单配置文件

#编译安装mysql5.7.17 [rootweb_1 data]# cat ../my.cnf [client]port3307socket/data/3307/mysql.sock[mysqld]user mysqlbasedir /usr/local/mysqldatadir /data/3307/dataport3307server-id 1socket/data/3307/mysql.sockcharacter-set-server utf8log-error /data/33…

cubic-bezier_带CSS中的示例的cube-bezier()函数

cubic-bezierIntroduction: 介绍: How many times have we come across the word function? Well, it would not be wrong to say a lot. The fact that functions are used in web development while developing a website or web page is very important. There…

php时间调用最简单的,PHP调用时间通过引用不可避免?

给定以下接口:interface ISoapInterface {public static function registerSoapTypes( &$wsdl );public static function registerSoapOperations( &$server );}以及以下代码:$soapProvider array( "FilePool", "UserList" );foreach( $soapProvi…

上手Caffe(一)

author:oneBite 本文记录编译使用caffe for windows 使用环境 VS2013 ultimate,win7 sp1,caffe-windows源码(从github上下载caffe的windows分支,下载解压之后,不要改变原有的目录结构,因为solution rebuild时会使用文件的相对路径…

使用JavaScript的图像识别游戏

Today we are going to develop a fully functional image recognition game using JavaScript. JavaScript is the best fit choice since it is a web-based game. The game is totally based on event handling and event objects. 今天,我们将使用JavaScript开发…

php 判断 in,tinkphp常用判断条件in、notin、between、AND、OR

越来越多的人使用thinkphp框架开发应用,容易上手开发周期短,接下来吾爱编程为大家分享一下tinkphp常用判断条件in、notin、between、AND、OR,有需要的小伙伴可以参考一下:in:{in name"Think.get.level" valu…

关于设置不同linux主机之间ssh免密登录简易方法

2019独角兽企业重金招聘Python工程师标准>>> 在linux日常中,经常会有ssh链接其他主机服务器的action,也学习过大家日常用配置ssh免密登录的方法。 小编今天在这里给大家介绍一种比较简单的配置linux主机ssh免密登录的方法。 两台主机的IP地址&#xff1a…

c语言指针++_C ++此指针| 查找输出程序| 套装1

c语言指针Program 1: 程序1&#xff1a; #include <iostream>using namespace std;int main(){int A 10;this* ptr;ptr &A;*ptr 0;cout << *ptr << endl;return 0;}Output: 输出&#xff1a; main.cpp: In function ‘int main()’:main.cpp:7:5: e…

java自定义线程池池,线程池使用及自定义线程池

一 案例引申编写代码同时只允许五个线程并发访问(以下文的函数为例子)private static void method() {System.out.println("ThreadName" Thread.currentThread().getName() "进来了");Thread.sleep(2000);System.out.println("ThreadName" Th…

long类型20位示例_Java Long类reverseBytes()方法与示例

long类型20位示例长类reverseBytes()方法 (Long class reverseBytes() method) reverseBytes() method is available in java.lang package. reverseBytes()方法在java.lang包中可用。 reverseBytes() method is used to returns the value generated by reversing the order o…

impala和mysql语法,impala CREATE TABLE语句

CREATE TABLE语句用于在Impala中的所需数据库中创建新表。 创建基本表涉及命名表并定义其列和每列的数据类型。语法以下是CREATE TABLE语句的语法。 这里&#xff0c;IF NOT EXISTS是一个可选的子句。 如果使用此子句&#xff0c;则只有在指定数据库中没有具有相同名称的现有表…

Guava翻译系列之EventBus

EventBus 类解析 当我们开发软件时&#xff0c;各个对象之间的数据共享和合作是必须的。 但是这里比较难做的是 怎样保证消息之间的传输高效并且减少各个模块之间的耦合。 当组件的职责不清楚时&#xff0c;一个组件还要承担另一个组件的职责&#xff0c;这样的系统我们就认为是…