nodejs npm install 全局安装全局安装和本地安装的区别

NPM小结 - 程序猿小卡 - 推酷
NPM小结 - 程序猿小卡
nodejs的出现,可以算是前端里程碑式的一个事件,它让前端攻城狮们摆脱了浏览器的束缚,踏上了一个更加宽广的舞台。前端的可能性,从此更加具有想象空间。
随着一系列基于nodes的应用/工具的出现,工作中与nodejs打交道的机会越来越多。无论在node应用的开发,还是使用中,包管理都扮演着一个很重要的作用。NPM(node package manager),作为node的包管理工具,极大地便利了我们的开发工作,很有必要了解一下。
NPM(node package manager),通常称为node包管理器。顾名思义,它的主要功能就是管理node包,包括:安装、卸载、更新、查看、搜索、发布等。
npm的背后,是基于couchdb的一个数据库,详细记录了每个包的信息,包括作者、版本、依赖、授权信息等。它的一个很重要的作用就是:将开发者从繁琐的包管理工作(版本、依赖等)中解放出来,更加专注于功能的开发。
npm官方文档:
我们需要了解什么
npm的安装、卸载、升级、配置
npm的使用:package的安装、卸载、升级、查看、搜索、发布
npm包的安装模式:本地 vs 全局
package.json:包描述信息
package版本:常见版本声明形式
npm包安装模式
在具体介绍npm包的管理之前,我们首先得来了解一下npm包的两种安装模式。
本地安装 vs 全局安装(重要)
node包的安装分两种:本地安装、全局安装。两者的区别如下,后面会通过简单例子说明
本地安装:package会被下载到当前所在目录,也只能在当前目录下使用。
全局安装:package会被下载到到特定的系统目录下,安装的package能够在所有目录下使用。
npm install pkg - 本地安装
运行如下命令,就会在当前目录下安装
(grunt命令行工具)
npm install grunt-cli
安装结束后,当前目录下回多出一个
node_modules
目录,grunt-cli就安装在里面。同时注意控制台输出的信息:
node_modules/grunt-cli
简单说明一下:
grunt-cli@0.1.9:当前安装的package为grunt-cli,版本为0.19
node_modules/grunt-cli:安装目录
resolve@0.3.1:依赖的包有resolve、nopt、findup-sync,它们各自的版本、依赖在后面的括号里列出来
npm install -g pkg- 全局安装
上面已经安装了grunt-cli,然后你跑到其他目录下面运行如下命令
果断提示你grunt命令不存在,为什么呢?因为上面只是进行了
,grunt命令只能在对应安装目录下使用。
-bash: grunt: command not found
如果为了使用grunt命令,每到一个目录下都得重新安装一次,那不抓狂才怪。肿么办呢?
很简单,采用全局安装就行了,很简单,加上参数
npm install -g grunt-cli
于是,在所有目录下都可以无压力使用
命令了。这个时候,你会注意到控制台输入的信息有点不同。主要的区别在于安装目录,现在变成了
/usr/local/lib/node_modules/grunt-cli
/usr/local/lib/node_modules/
也就是之前所说的全局安装目录啦。
/usr/local/lib/node_modules/grunt-cli
npm的包管理命令是使用频率最高的,所以也是我们需要牢牢记住并熟练使用的。其实无非也就是几个动作:安装、卸载、更新、查看、搜索、发布等。
安装最新版本的grunt-cli
npm install grunt-cli
安装0.1.9版本的grunt-cli
npm install &
通过package.json进行安装
如果我们的项目依赖了很多package,一个一个地安装那将是个体力活。我们可以将项目依赖的包都在package.json这个文件里声明,然后一行命令搞定
npm install
其他package安装命令
运行如下命令,列出所有
npm install
可能的参数形式
npm install --help
输出如下,有兴趣的童鞋可以了解下
npm install &tarball file&
npm install &tarball url&
npm install &folder&
npm install &pkg&
npm install &pkg&@&tag&
npm install &pkg&@&version&
npm install &pkg&@&version range&
卸载grunt-cli
比如卸载grunt-cli
npm uninstall grunt-cli
卸载0.1.9版本的grunt-cli
npm uninstall &
npm ls:查看安装了哪些包
运行如下命令,就可以查看当前目录安装了哪些package
/private/tmp/npm
& │ ├─┬
& │ │ ├──
& │ │ ├──
& │ │ └─┬
& │ │&& ├──
& │ │&& └──
& │ └──
& │ └──
输出如下,同样,如果是要查看package的全局安装信息,加上
npm ls pkg:查看特定package的信息
运行如下命令,输出grunt-cli的信息
npm ls grunt-cli
输出的信息比较有限,只有安装目录、版本,如下:
/private/tmp/npm
如果要查看更详细信息,可以通过
npm info pkg
,输出的信息非常详尽,包括作者、版本、依赖等。
npm info grunt-cli
npm update pkg:package更新
npm update grunt-cli
npm search pgk:搜索
输入如下命令
npm search grunt-cli
返回结果如下
npm http GET
npm http 200
NAME&&&&&&&&&&&&&&&&& DESCRIPTION&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& AUTHOR&&&&&&&&&&& DATE&&&&&&&&&&&&& KEYWORDS
grunt-cli&&&&&&&&&&&& The grunt command line interface.&&&&&&&&&&&&&&&&& =cowboy =tkellen&
grunt-cli-dev-exitprocess The grunt command line interface.&&&&&&&&&&&&& =dnevnik&&&&&&&&&
grunt-client-compiler Grunt wrapper for client-compiler.&&&&&&&&&&&&&&&& =rubenv&&&&&&&&&&
09:15& gruntplugin
grunt-clientside&&&&& Generate clientside js code from CommonJS modules& =jga&&&&&&&&&&&&&
01:20& gruntplugin
这个命令我自己也还没实际用过,不误导大家,语法如下,也可参考官方对于package发布的说明
npm publish &tarball&
npm publish &folder&
npm的配置工作主要是通过
npm config
命令,主要包含增、删、改、查几个步骤,下面就以最为常用的proxy配置为例。
内网使用npm很头痛的一个问题就是代理,假设我们的代理是&
npm config set proxy
npm config set
命令比较常用,于是可以如下简写
npm set proxy &&&
设置完,我们查看下当前代理设置
npm config get proxy
输出如下:
同样可如下简写:
npm get proxy
代理不需要用到了,那删了吧
npm delete proxy
查看所有配置
npm config list
直接修改配置文件
有时候觉得一条配置一条配置地修改有些麻烦,就直接进配置文件修改了
npm config edit
关于package.json
这货在官网似乎没有详细的描述,其实就是包的描述信息啦。假设当我们下载了node应用,这个node应用依赖于A、B、C三个包,如果没有package.json,我们需要人肉安装这个三个包(如果对版本有特定要求就更悲剧了):
npm install A
npm install B
npm install C
有了package.json,一行命令安装所有依赖。
npm install
package.json字段简介
字段相当多,但最重要的的是下面几个
name: package的名字(由于他会成为url的一部分,所以 non-url-safe 的字母不会通过,也不允许出现&.&、&_&),最好先在
version: package的版本,当package发生变化时,version也应该跟着一起变化,同时,你声明的版本需要通过semver的校验(semver可自行谷歌)
dependencies: package的应用依赖模块,即别人要使用这个package,至少需要安装哪些东东。应用依赖模块会安装到当前模块的node_modules目录下。
devDependencies:package的开发依赖模块,即别人要在这个package上进行开发
其他:参见官网
package版本
在package.json里,你经常会在包名后看到类似&~0.1.0&这样的字符串,这就是包的版本啦。下面会列举最常见的版本声明形式,以及版本书写的要求:
常见版本声明形式
a、&~1.2.3& 是神马意思呢,看下面领悟
&~1.2.3& = &&=1.2.3 &1.3.0&
&~1.2& = &&=1.2.0 &1.3.0&
&~1& = &&=1.0.0 &1.1.0&
b、&1.x.x&是什么意思呢,继续自行领悟
&1.2.x& = &&=1.2.0 &1.3.0&
&1.x.x& = &&=1.0.0 &2.0.0&
&1.2& = &1.2.x&
&1.x& = &1.x.x&
&1& = &1.x.x&
版本书写要求
版本可以v开头,比如 v1.0.1(v只是可选)
1.0.1-7,这里的7是所谓的“构建版本号”,不理是神马,反正版本大于1.0.1
1.0.1beta,或者1.0.1-beta,如果1.0.1后面不是 “连字符加数字” 这种形式,那么它是pre release 版本,即版本小于 1.0.1
根据b、c,有:0.1.2-7 & 0.1.2-7-beta & 0.1.2-6 & 0.1.2 & 0.1.2beta
内容只是简单地把最常见的命令,以及一些需要了解的内容列了出来。如要进一步了解,可参考官网说明。此外,
是我们最好的朋友,如果忘了有哪些命令,命令下有哪些参数,可通过help进行查看。
最关键的:如果文章内容有误,请指出!!!
已发表评论数()
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
没有分页内容
图片无法显示
视频无法显示
与原文不一致nodejs npm install全局安装和本地安装的区别_百度知道
nodejs npm install全局安装和本地安装的区别
命令中,全局安装(global)和本地安装(local)方式的区别为带参数-g和不带参数-g。具体区别:1.安装位置:npm install moduleName ,则是将模块下载到当前命令行所在目录。npm install moduleName -g ,模块将被下载安装到全局目录中,即Node的安装目录下的node_modules下2.调用方式:在代码中,本地安装可以直接通过require()的方式引入;var moduleName = require('moduleName');全局的安装是供命令行(command line)使用的,比如grunt,全局安装的方式是没有办法用require调用包的;备注:可以通过使用npm set global=true/false来设定安装模式,npm get global可以查看当前使用的安装模式。
其他类似问题
为您推荐:
install的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁在Ubuntu下安装Node.JS的不同方式
收藏: &&&&
如果你要在Ubuntu 15.04上安装Node.js的话,这篇教程对你来说肯定很重要。Node.js从本质上来说就是一个运行在服务端上的封装好了输入输出流的javascript程序。Node.js巧妙的使用单线程的事件循环来处理高吞吐量和非阻塞IO。同时它也是一个提供了通过操作系统读写文件和网络操作功能的平台层。所以这篇文章将展示在Ubuntu 15.04 server上不同的安装Node.Js的方式。
安装Node.JS 的方法
有许多安装Node.JS的不同的方法,我们可以选择其一。通过本篇文章我们将手把手带着你在Ubuntu 15.04上安装Node.Js,在此之前请卸载旧版本的包以免发生包冲突。
从源代码安装Node.JS
用包管理器安装Node.JS
从Github远程库安装Node.JS
用NVM安装Node.JS
1) 从源代码安装Node.JS
让我们开始从源代码安装Node.JS之前,请确认系统上的所有的依赖包都已经更新到最新版本。然后跟着以下步骤来开始安装:
步骤1: 升级系统
用以下命令来升级系统,并且安装一些Node.JS必要的包。
root@ubuntu-15:~# apt-get update
root@ubuntu-15:~# apt-get install python gcc make g++
步骤2: 获取Node.JS的源代码
安装好依赖包之后我们可以从官方网站上下载Node.JS的源代码。下载以及解压的命令如下:
root@ubuntu-15:~# wget http://nodejs.org/dist/v0.12.4/node-v0.12.4.tar.gz
root@ubuntu-15:~# tar zxvf node-v0.12.4.tar.gz
步骤3: 开始安装
现在我们进入源代码的目录,然后运行.configure文件
root@ubuntu-15:~# ls
node-v0.12.4 node-v0.12.4.tar.gz
root@ubuntu-15:~# cd node-v0.12.4/
root@ubuntu-15:~/node-v0.12.4# ./configure
root@ubuntu-15:~/node-v0.12.4# make install
安装后测试
只要运行一下上面的命令就顺利安装好了Node.JS,现在我们来确认一下版本信息和测试以下Node.JS是否可以运行输出。
root@ubuntu-15:~/node-v0.12.4# node -v
创建一个以.js为扩展名的文件然后用Node的命令运行
root@ubuntu-15:~/node-v0.12.4# touch helo_test.js
root@ubuntu-15:~/node-v0.12.4# vim helo_test.js
console.log('Hello World');
现在我们用Node的命令运行文件
root@ubuntu-15:~/node-v0.12.4# node helo_test.js
Hello World
输出的结果证明我们已经成功的在Ubuntu 15.04安装好了Node.JS,同时我们也能运行JavaScript文件。
2) 利用包管理器安装Node.JS
在Ubuntu下用包管理器安装Node.JS是非常简单的,只要增加NodeSource的个人软件包档案(PPA)即可。
我们将下面通过PPA安装Node.JS。
步骤1: 用curl获取源代码
在我们用curl获取源代码之前,我们必须先升级操作系统,然后用curl命令获取NodeSource添加到本地仓库。
root@ubuntu-15:~#apt-get update
root@ubuntu-15:~# curl -sL /setup | sudo bash -
curl将运行以下任务
## Installing the NodeSource Node.js 0.10 repo...
## Populating apt-get cache...
## Confirming "vivid" is supported...
## Adding the NodeSource signing key to your keyring...
## Creating apt sources list file for the NodeSource Node.js 0.10 repo...
## Running `apt-get update` for you...
Fetched 6,411 B in 5s (1,077 B/s)
Reading package lists... Done
## Run `apt-get install nodejs` (as root) to install Node.js 0.10 and npm
步骤2: 安装NodeJS和NPM
运行以上命令之后如果输出如上所示,我们可以用apt-get命令来安装NodeJS和NPM包。
root@ubuntu-15:~# apt-get install nodejs
步骤3: 安装一些必备的工具
通过以下命令来安装编译安装一些我们必需的本地插件。
root@ubuntu-15:~# apt-get install -y build-essential
通过Node.JS Shell来测试
测试Node.JS的步骤与之前使用源代码安装相似,通过以下node命令来确认Node.JS是否完全安装好:
root@ubuntu-15:~# node
& console.log('Node.js Installed Using Package Manager');
Node.js Installed Using Package Manager
root@ubuntu-15:~# node
& a = [1,2,3,4,5]
[ 1, 2, 3, 4, 5 ]
& typeof a
(^C again to quit)
root@ubuntu-15:~#
使用NodeJS应用进行简单的测试
REPL是一个Node.js的shell,任何有效的JavaScript代码都能在REPL下运行通过。所以让我们看看在Node.JS下的REPL是什么样子吧。
root@ubuntu-15:~# node
& var repl = require("repl");
& repl.start("& ");
Press Enter and it will show out put like this:
& { domain: null,
_events: {},
_maxListeners: 10,
useGlobal: false,
ignoreUndefined: false,
eval: [Function],
inputStream:
{ _connecting: false,
writeQueueSize: 0,
owner: [Circular],
onread: [Function: onread],
reading: true },
_readableState:
{ highWaterMark: 0,
buffer: [],
length: 0,
pipes: null,
以下是可以在REPL下使用的命令列表
使用NodeJS的包管理器
NPM是一个提供给node脚本持续生命力的命令行工具,它能通过package.json来安装和管理依赖包。最开始从初始化命令init开始
root@ubuntu-15:~# npm init
3) 从Github远程库安装Node.JS
在这个方法中我们需要一些步骤来把Node.JS从Github的远程的仓库克隆到本地仓库目录
在开始克隆(clone)包到本地并且配制之前,我们要先安装以下依赖包
root@ubuntu-15:~# apt-get install g++ curl make libssl-dev apache2-utils git-core
现在我们开始用git命令克隆到本地并且转到配制目录
root@ubuntu-15:~# git clone git:///ry/node.git
root@ubuntu-15:~# cd node/
clone仓库之后,通过运行.config命令来编译生成完整的安装包。
root@ubuntu-15:~# ./configure
运行make install命令之后耐心等待几分钟,程序将会安装好Node.JS。
root@ubuntu-15:~/node# make install
root@ubuntu-15:~/node# node -v
v0.13.0-pre
测试Node.JS
root@ubuntu-15:~/node# node
& a = [1,2,3,4,5,6,7]
[ 1, 2, 3, 4, 5, 6, 7 ]
& typeof a
(^C again to quit)
root@ubuntu-15:~/node#
4) 通过NVM安装Node.JS
在最后一种方法中我们我们将用NVM来比较容易安装Node.JS。安装和配制Node.JS,这是最好的方法之一,它可以供我们选择要安装的版本。
在安装之前,请确认本机以前的安装包已经被卸载。
步骤1: 安装依赖包
首先升级Ubuntu Server系统,然后安装以下安装Node.JS和使用NVM所要依赖的包。用curl命令从git上下载NVM到本地仓库:
root@ubuntu-15:~# apt-get install build-essential libssl-dev
root@ubuntu-15:~# curl /creationix/nvm/v0.16.1/install.sh | sh
步骤2: 修改Home环境
用curl从NVM下载必需的包到用户的home目录之后,我们需要修改bash的配置文件添加NVM,之后只要重新登录中断或者用如下命令更新即可。
root@ubuntu-15:~# source ~/.profile
现在我们可以用NVM来设置默认的NVM的版本,或者用如下命令来指定之前版本:
root@ubuntu-15:~# nvm ls
root@ubuntu-15:~# nvm alias default 0.12.4
步骤3: 使用NVM
我们已经通过NVM成功的安装了Node.JS,所以我们现在可以使用各种有用的命令。
现在我们已经准备好了在服务端安装Node.JS,你可以从我们说的四种方式中选择最合适你的方式在最新的Ubuntu 15.04上来安装Node.JS,安装好之后你就可以利用Node.JS来编写你的代码。
作者: 译者: 校对:
原创翻译, 荣誉推出
----------------
分享到微信朋友圈
打开微信,点击底部的“发现”,
使用“扫一扫”将网页分享至朋友圈。}

我要回帖

更多关于 nodejs npm install 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信