nodejs 全局变量全局安装和本地安装的不同之处

关于npm的本地模式和全局模式的总结:
npm install命令就是采用本地模式,即把包安装到当前目录的node_modules子目录下:npm [install/i] [package_name]
npm 全局模式安装命令是npm [install/i] -g [package_name]
(1)如果包安装到全局,可以提高程序的重复利用程度,避免同样的内容的多份副本,缺点是难以处理不同的版本依赖;
(2)使用全局模式安装时,npm会将包安装到系统目录,注册了PATH环境变量,因此可以直接在命令行中运行命令;
(3)使用全局模式安装的包并不能直接在Javascript文件中用require获得,因为require不会搜索/usr/local/lib/node_modules/,但是使用npm link命令可以打破这一限制;
(4)如果把包安装到当前目录,或者说本地,则不会有不同程序依赖不同版本的包的冲突问题;
(5)同时还减轻了包作者的API兼容性压力,缺点则是同一个包可能会被安装许多次,而且本地模式不会注册PATH环境变量。
(6)本地模式安装的包可以直接通过require使用;
(7)npm link可以使本地包当做全局包使用,也可以使全局包当做本地包使用。
阅读(...) 评论()5789人阅读
Node.js(40)
Windows下的Nodejs npm路径是appdata,很不爽,想改回来,但是在cmd下执行以下命令也无效
npm config set cache &E:\软件安装\nodejs\node_cache&
npm config set prefix &E:\软件安装\nodejs\node_global&
最后在nodejs的安装目录中找到node_modules\npm\.npmrc文件
修改如下即可:
prefix = E:\软件安装\nodejs\node_global
cache = E:\软件安装\nodejs\node_global
二、 全局文件夹设置
至于node_cache跟node_global对于初学者这个应该不用设置,因为他会设置为当前用户目录下的,但是有时自己为了方便也会设置下,这里提供下设置的命令看如下:
npm configls//列出prefix配置
npm config set cache'D:\ProgramFiles\nodejs\node_cache'//设置全局缓存文件夹
npm config set cache'node_global'//设置全局模块文件夹
三、 安装模块
现在我们安装node跟npm了,npm顾名思义就是node的包管理器,通过命令来管理,现在来尝试下:
我们来安装一个web框架express,参数-g代表安装在全局文件夹下,如果不在则代表当前文件夹
npm install express -g//express还可以带上@版本号
我们现在在刚才设置的文件夹下查看下,是否多了一些文件啊,这里我们使用命令查看刚才安装express的版本号
express -V
如果有输出版本代表安装成功了!
那如果我们想卸载掉这个插件呢,我们可以使用如下命令即可
npm uninstall express
这样卸载掉后我们安装回express,不过后面带上版本号3.2.2(因为本人最熟悉的版本就是这个了),这样会吗?
四、 使用express安装
现在我们使用命令来建立一个web站点,如下:
express Test
在Linux下的node 项目同步到Mac OS X 下发现不能正常运行,全局包依赖没有生效,
发现需要设置 NODE_PATH变量:
export NODE_PATH=/usr/local/lib/node_modules
再次运行正常。
其实 运行 npm config list 里面的 prefix是有设置的,prefix = &/usr/local& , 但包含包的时候竟然完全无视此变量的设置,还需要依赖于 NODE_PATH这个环境变量,看来node不完善地方真多。
npm install 默认安装到本地
npm install -g 安装到全局。
npm 默认安装到本地的设置真是不怕浪费项目空间啊!完全和 ruby的包 perl 的包设计不一样。
nodejs npm install全局安装和本地安装的区别
这篇文章主要介绍了nodejs npm install 全局安装和非全局安装的区别,即带参数-g和不带参数-g安装的区别,需要的朋友可以参考下
npm的包安装分为本地安装(local)、全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如:
npm install grunt # 本地安装
npm install -g grunt-cli # 全局安装
下面分别解释。
1. npm install xxx -g 时, 模块将被下载安装到【全局目录】中。
【全局目录】通过 npm config set prefix &目录路径& 来设置。
通过 npm config get prefix 来获取当前设置的目录。
2. npm install xxx ,则是将模块下载到当前命令行所在目录。
c:\123&npm install xxx
将会安装到
c:\123\node_modules\xxx
这种方式显然是不好的,所以一般都会使用全局安装方式统一安装的一个目录中去,这样既方便管理、结构清晰还可以重复利用。
nodejs开发环境配置与使用
先说下nodejs这个哦,有人以为它是一种语言,其实不是,它是一个平台,一个建立在google的V8引擎上的js运行平台,就是解析js,并提供自己 的一些API给用户调用。从目前的情况来看,这个发展情况还算好,明天都有好多的前端后台工程师在加入,连一些大神也在关注甚至写博客,昨晚我还看见一篇 文章写道一个外国的网站写了将近90搞nodejs的web插件,这个真牛啊!那学习中国东东对于我们来说最直接的能带来什么利益呢:前端人员由于熟悉 js那么可以基本简单学习下linux就可以上手了,那后台工程师呢稍微麻烦点,因为一些后台工程师不是怎么熟悉js使用起来可能很多障碍,在这里建议学
习下基础的js,讲了这个之后大家关心的我想应该就是薪水的问题了,到目前,基本在1年以上的nodejs工程师在广州已经有开价在7K以上了,这个也是 以前的一位同事说他公司招聘的情况我才知道原来这个东东直逼hadoop啊!废话先说到这里了,下面来说下本次的话题:环境配置(由于本人是在 windows 8.1下开发的,所以在这里只讲windows下的)。
安装nodejs
先去nodejs官网下载对应的版本,我的是64位的。下载好后直接安装,由于现在的版本已经到v0.10.33了,所以node跟npm已经一起安装了,连环境变量也设置了,安装好后可以在对应的文件夹看到如下
app外包公司
棋牌游戏源码
青海湖包车
安装完后,可以在当前安装的文件夹下使用Shift + 右键打开cmd,输入如下即可查看安装的版本,本人的是0.10.32.
二、 全局文件夹设置
至于node_cache跟node_global对于初学者这个应该不用设置,因为他会设置为当前用户目录下的,但是有时自己为了方便也会设置下,这里提供下设置的命令看如下:
npmconfigls//列出prefix配置
npmconfigsetcache'D:\ProgramFiles\nodejs\node_cache'//设置全局缓存文件夹
npmconfigsetcache'node_global'//设置全局模块文件夹
三、 安装模块
现在我们安装node跟npm了,npm顾名思义就是node的包管理器,通过命令来管理,现在来尝试下:
我们来安装一个web框架express,参数-g代表安装在全局文件夹下,如果不在则代表当前文件夹
npminstallexpress-g//express还可以带上@版本号
我们现在在刚才设置的文件夹下查看下,是否多了一些文件啊,这里我们使用命令查看刚才安装express的版本号
如果有输出版本代表安装成功了!
那如果我们想卸载掉这个插件呢,我们可以使用如下命令即可
npmuninstallexpress
这样卸载掉后我们安装回express,不过后面带上版本号3.2.2(因为本人最熟悉的版本就是这个了),这样会吗?
四、 使用express安装
现在我们使用命令来建立一个web站点,如下:
expressTest
这样会输出一些提示,可以直接跳进去Test文件夹使用命令运行这个站点:
nodeapp.js
python游戏
软件工程师薪水
web前端开发
网页设计模板
看到提示没,端口3000说明启动成功了,但是我们浏览器浏览报错,提示什么
500&Error: Cannot find module 'jade'
那竟然有提示报错了,那我们现在就来安装这个模块,在这里说明下,这个文件夹下有个package.json文件,这个文件里描述了一些站点的信息,我们可以使用nodepad 打开看看:
这样说明了需要2个库,一个是express,令一个是jade,那么我们现在来安装它,如果很多模块安装岂不是要执行很多次命令,这里有一个命令比较简便,它会检查当前的package.json的依赖库进行安装:
npminstall
安装了这个模块我们还需要要修改一下views下的layout.jade文件的第一行的doctype 5改成doctype html.这样再重新执行node app.js我们这个网站就可以正常运行了。
五、 安装supervisor插件
刚才我们可能都发现了,如果出了问题,nodejs自动停止了服务,这样很不利于调试啊,那我们有一个插件可以解决。这个插件是管理nodejs的进程,包括调试那些都非常好用。使用如下命令安装全局的模块:
npminstallsupervisor-g
这样我们就不用node命令来启动服务,直接使用supervisor app.js来就可以了。以管理员身份安装,因为它是被安装到根目录下的。
六、 使用webStorm IDE
刚 才我们编辑js文件是使用nodepad来的,但这个不是很好,有好的编辑器吗,答案是有的,一个大名顶顶的webStorm,网上很多那个版本的下载, 大家懂得了,这里也提供一份网友给的链接/cAcf6hVxnIbCt 提取码 246f,下载完直接安装,安装完覆盖一个exe文件就可以了,屌丝这样简单吧!
第一次运行是会打开一个文件夹,其实就是项目的文件夹。
下面来说下调试的问题,包括我也搞了好久网上也找了好久,最后在波哥说下才搞定,这个其实很难简单的,直接看图了:
如何在程序里打断点就可以进行调试了,很方便。
以上就是个人对于nodejs开发环境配置与使用的经验的全部记录了,后续再继续分享一些nodejs的详细应用。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:103238次
积分:1769
积分:1769
排名:第18881名
原创:18篇
转载:337篇
(1)(1)(3)(4)(7)(8)(26)(62)(56)(58)(111)(21)Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的 易于扩展的网络应用· Node.js 借助事件驱动, 非阻塞I/O 模型变得轻量和高效, 非常适合 运行在分布式设备 的 数据密集型 的实时应用
这篇文章主要介绍了nodejs npm install 全局安装和非全局安装的区别,即带参数-g和不带参数-g安装的区别,需要的朋友可以参考下
npm的包安装分为本地安装(local)、全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如:
npm install grunt # 本地安装
npm install -g grunt-cli # 全局安装下面分别解释。1. npm install xxx -g 时, 模块将被下载安装到【全局目录】中。
【全局目录】通过 npm config set prefix "目录路径" 来设置。
通过 npm config get prefix 来获取当前设置的目录。
2. npm install xxx ,则是将模块下载到当前命令行所在目录。
例如:c:\123&npm install xxx将会安装到c:\123\node_modules\xxx
这种方式显然是不好的,所以一般都会使用全局安装方式统一安装的一个目录中去,这样既方便管理、结构清晰还可以重复利用。
Copyright &
All Rights Reserved &&&&&&第1步:下载、安装文件 (nodejs的官网http://www.nodejs.org/download/&)
第2步:安装相关模块环境
  打开C:\Program Files\nodejs 目录你会发现里面自带了npm这个nodejs插件的管理工具,直接用Npm安装相关需要的相关模块即可
& & (其他有些系统可能需要单独安装NPM下载地址 /isaacs/npm,也可直接用Git工具下载 git clone --recursive git:///isaacs/npm.git下载完成后,
& & & 命令行首先定位到npm包所在目录,
  键入 node cli.js install npm -gf 进行安装。)
  进入node.js command prompt 命令窗口
  键入 cd C:\Program Files\nodejs &即可进入nodejs 安装目录 C:\Program Files\nodejs
开始安装相关模块环境node模块的安装分为全局模式和本地模式。
一般情况下会以本地模式运行:node包会被安装到你的应用代码本地node_modules目录下。
在全局模式下,node包会被安装到node的默认安装目录下的node_modules下。本地模式: 键入命令:npm install express 默认安装express的最新版本。
     &&若在后面加版本号可安装指定版本,如npm install express@3.0.6 回车开始安装express,
     &&安装完成后会在当前目录下的node_modules文件夹下多出express相关的两个文件夹express和.bin。全局模式下: 键入命令:npm install express -g& ,安装完成命令行会提示 npm info ok。
    参数-g的含义是代表安装到全局环境里面。如果沒有-g会安装到当前node_modules目录下(如无则新建node_modules文件夹)。
    不建议初学者使用这种将包安装到全局环境中的做法,因为在js实例代码中,直接通过require()的方式是没有办法调用全局安装包的,会报错Error: Cannot find module 'express' ,
    此时可以将node_modules整个文件夹复制一份到你的项目工程下。
    全局的安装是供命令行使用的,使用全局方式安装后,用户就可以在命令行中直接运行该组件包支持的命令,
    优点:可以提高程序的复用度,避免同样的内容存在多份副本;缺点:难以处理不同的版本依赖。
    这里的require()是node.js内置函数,用来引入其他模块以备代码中调用模块的函数和变量,默认下node.js会在NODE_PATH和目前js所在项目目录下的node_modules文件夹下去寻找模块。
    因此,如果是全局安装,不复制系统安装node_modules文件夹到项目node_modules文件夹下,
    还可以选择将环境变量的NODE_PATH设置为&C:\Program Files\nodejs,设置完成后再去项目目录运行命令&node app.js&就不会报错了。
    express.js继承自connect模块,所以若你的node_modules文件夹下没有connect模块也是不能运行的。
&补充:npm常用命令
(1)npm install moduleNames
  安装Node模块
  注意事项:如果在使用模块的时候不知道其名字,可以通过 http://search.npmjs.org 网站按照索引值找到想要的模块。
  npm也提供了查询的功能
npm search indexName
  安装完毕后会产生一个node_modules 目录,其目录下就是安装的各个node模块。
  node的安装分为全局模式和本地模式。
  全局安装命令为 npm install -g moduleName
  或者使用npm set global=true来设定安装模式,npm get global 可以查看当前使用的安装模式。
  npm install &name& --save
安装的同时,将信息写入 package.json 中项目路径中,
  如果有package.json文件时,直接使用 npm install 方法就可以根据dependencies配置安装所有的依赖包,
  这样代码提交到github时,就不用提交node_modules这个文件夹了。
(2)npm view moduleNames
    查看node模块的package.json文件夹
    注意事项:如果想要查看package.json文件夹下某个标签的内容,使用 npm view moduleName labelName
(3)npm list
    查看当前目录下已安装的node包。同命令 npm ll/npm ls/npm la
    注意事项:Node模块搜索是从代码执行的当前目录开始的,搜索结果取决于当前使用的目录中的node_modules下的内容。
         npm list parseable=true可以目录的形式来展现当前安装的所有node包
(4)npm help
    查看帮助命令。如果要单独查看install命令的帮助,可以使用的npm help install
(5)npm view moudleName dependencies
    查看包的依赖关系
(6)npm view moduleName repository.url
    查看包的源文件地址
(7)npm view moduleName engines
    查看包所依赖的Node的版本
(8)npm help folders
    查看npm使用的所有文件夹
(9)npm rebuild moduleName
    用于更改包内容后进行重建
(10)npm outdated
    检查包是否已经过时,此命令会列出所有已经过时的包,可以及时进行包的更新
(11)npm update moduleName
    更新node模块
(12)$ npm uninstall moudleName
    卸载node模块
(13)一个npm包是包含了package.json的文件夹,package.json描述了这个文件夹的结构。访问npm的json文件夹的方法如下:
    npm help json
    此命令会以默认的方式打开一个网页,如果更改了默认打开程序则可能不会以网页的形式打开。
(14)发布一个npm包的时候,需要检验某个包名是否已存在
    npm search packageName
(15)很多时候我们在使用一个npm包的时候经常会忘记了require其相互依赖的模块,我们可以借助如如下命令来查看此模块相互依赖的包都有哪些
(16)npm init
    会引导你创建一个package.json文件,包括名称、版本、作者这些信息等
(17)npm rm &name&
    移除,卸载一个模块。有以下几种命令形式:
    npm rm &name&
    npm r &name&
    npm uninstall &name&
    npm un &name&
(18)npm root
  查看当前工程的包的安装路径,
  npm root -g
是查看全局的包的安装路径
(19)npm docs &packageName&
   尝试当前包对应的文档URL,并使用浏览器打开该文档。
(20)npm config ?
  获取配置文件信息,如环境变量,npmrc文件,package.json
更多命令请参看官方文档https://npmjs.org/doc/
阅读(...) 评论()

我要回帖

更多关于 nodejs 全局 的文章

 

随机推荐