`

【转】npm用法及离线安装方法

 
阅读更多

 

原文转自:https://cnodejs.org/topic/51c908f873c638f370d02985

 

暂未验证

基本的用法

查看某个模块的全部信息,或者可以查看单个信息

npm info name
npm info name version
npm info name homepage

install支持多种手段,包名,git路径,包括本地路径也可以

 

sudo npm install -global [package name]
npm install git://github.com/package/path.git
npm install git://github.com/package/path.git#0.1.0
npm install package_name@version
npm install path/to/somedir  //本地路径

 

前提是本地路径里面包含一个完整的包,或者文件里面有合格的package.json文件即可

 

查看装好了哪些包

npm list
npm -global list

 

配置文件基本用法

配置就是修改npmrc文件了。用命令行同样也是修改此文件。
npmrc存在三个位置,修改用户目录下的文件就更合适了。
~/.npmrc             (用户主目录,win系统在C:\Users\$用户名\.npmrc)
 

修改文件就不用说了,命令配置方法

npm config set key=value
npm config set proxy=http://127.0.0.1:8087

具体的用法和具体key value可以通过打开说明文档查看

npm help npm

配置项可以通过以下命令查看已经配置过的项

npm config list
npm config list -l

配置代理,全局目录,源

下面正式介绍对付国内网络的方法了

首先几个重要的配置项一一介绍

prefix   -- 全局安装的路径,也就是npm install -g 安装的模块在哪个位置。这个看个人喜好。我喜好将他设置到安装路径下面。

proxy -- 代理(http的代理是用这个),代理连外网的朋友这个就需要配置了。

https_proxy -- https代理

registry -- 类似linux的软件源,这个一定要修改的

npm config set prefix "c:\nodejs"
npm config set proxy=http://127.0.0.1:8087
npm config set https_proxy=http://127.0.0.1:8087
npm config set registry=http://registry.npmjs.org
 

registry=http://registry.npmjs.org 这句很重要,注意默认的源是https://registry.npmjs.org 是https的,反正我连默认的源是从来没成功过一次。
上例我把他修正为不加密http的就基本能正常了。

网络不行可以考虑一些国内的源试试,例如

npm config set registry "http://r.cnpmjs.org/"

离线安装

有许多环境下即便配置了代理,修改了源还是出现网络问题。常见的提示是shasum check failed。当然这不一定就是网络不行,但大部分情况下是网络连接不通畅导致的。

这种情况下可以手工下载并安装,其实也很简单。

首先找到想办法把你需要的包下载下来,这个可以多种办法了。或者从其他机器拷过来。

例如先npm info mysql 查看mysql这个包的信息,包信息里面会有软件主页或者代码仓库地址。一半在github上。(install因为要下载可能会失败,但是info指令信息少通常可以成功)。

例如node-mysql的地址在https://github.com/felixge/node-mysql

下载来之后解压到工程的node_modules目录下就是安装好了,就这么简单。

Project

  ---package.json

  ---index.js

  ---node_modules      // 解压到此目录就行了(每个包文件夹下面有package.json,index.js文件的。)

注意:你下载下来的源码包可能和模块名字不一样。要将改名成模块名再拷贝进node_modules 中去。例如将node-mysql文件夹改名成mysql。

 

包之间的依赖关系离线安装问题

上面方法安装的包不会包含依赖的包,不过依赖包同样用上面离线一个个安装的办法也可以。

例如mysql包就依赖bignumber.js , readable-stream , require-all 三个包。npm默认情况下安装的依赖包会是一层一层往下的。例如安装好mysql工程结构会是这样的

Project

  ---package.json

  ---index.js

  ---node_modules

      ---mysql

          ---node_modules

              ---bignumber.js

              ---readable-stream

              ---require-all

 

你同样只需要相同的操作将依赖的包放到相应的位置便可。这样包管理的结构虽然复杂但是依赖关系很清晰。但是这个规定不一定非要这样,你也可以将依赖包放到第一层的node_modules文件夹下。nodejs搜索模块路径会一层一层往上搜索。

 

分享到:
评论

相关推荐

    npm 版本打包工具离线安装

    离线安装npm包的方法对于企业内部或者在隔离的网络环境中特别有用,因为这样可以避免网络问题带来的影响,同时也可以提高部署速度和稳定性。然而,这种方式并不适用于所有情况,例如,当项目依赖大量经常更新的第三...

    详解离线安装npm包的几种方法

    本文将详细介绍两种常见的离线安装npm包的方法:使用`npm link`和使用`npm install <folder>`。 首先,我们来看使用`npm link`的方法。`npm link`原本是为了开发人员在本地项目和全局环境之间建立快捷方式,以便于...

    npm karma 离线安装包 nodejs 5.5

    在本场景中,我们关注的是如何在离线环境中使用npm安装karma包。 Karma是一个JavaScript测试运行器,它能运行浏览器中的测试。它广泛用于前端开发,特别是与AngularJS、React等框架结合,进行自动化测试。在没有...

    linux离线安装es-head插件完整步骤以及安装包

    本文将详细介绍如何在Linux上离线安装es-head插件,包括先安装Node.js和Grunt,然后进行head插件的安装。 **一、离线安装Node.js** 1. **下载Node.js安装包** 首先,你需要从Node.js的官方网站下载对应Linux版本...

    离线安装PM2,nodejs专用也可用于python

    离线安装PM2是针对没有网络连接或者网络环境受限的计算机进行PM2部署的一种方法。PM2是一个流行的Node.js进程管理器,它能够确保应用程序在系统重启后继续运行,并提供日志管理和性能监控功能。虽然PM2主要是为Node....

    用于less离线安装的文件详细过程见描述npm.zip

    总结起来,离线安装Less涉及的知识点包括:Less的基本概念和作用、npm的使用、离线安装的原理与步骤、依赖管理和版本控制。在实际操作中,要确保所有步骤的正确性和完整性,以确保离线安装的成功。此外,对于大型...

    elasticdump离线安装包

    elasticdump 离线安装包 使用方法:直接解压到root目录下 随后执行 npm install elasticdump -g 就ok了 判断是否安装成功:elasticdump --help 出现基本使用命令说明安装成功

    vuedevtools离线包安装

    总的来说,Vue DevTools 离线包安装为开发者提供了一种方便快捷的安装途径,尤其在没有网络或者网络环境不理想的情况下,可以避免复杂的命令行操作,如 npm 安装和构建过程。只需简单的几个步骤,你就能在本地环境中...

    gulp的简单搭建

    首先,确保你的系统已经安装了Node.js和npm(Node包管理器)。然后,在你的项目根目录下,通过npm初始化一个新的package.json文件: ```bash npm init -y ``` 接下来,全局安装`gulp-cli`,它是gulp的命令行工具:...

    vue-templates离线包(附使用方法).zip

    vue-templates 离线包 ...如果你仍然需要使用旧版本的 vue init 功能,你可以全局安装一个桥接工具: npm install -g @vue/cli-init # `vue init` 的运行效果将会跟 `vue-cli@2.x` 相同 vue init webpack my-project

    npm安装Electron缓慢网络超时导致失败

    ### 关于npm安装Electron遇到的问题及解决方案 #### 一、问题概述 在使用`npm`安装`Electron`框架时,可能会遇到由于网络连接缓慢而导致的安装超时失败问题。这种情况下,开发者通常会看到错误提示信息,指出安装...

    selenium-webdriver离线包.rar

    总结,Selenium WebDriver是一个强大的自动化测试框架,这个离线包是为了在TypeScript和JavaScript环境下,特别是在没有网络连接的情况下,能够顺利安装和使用Selenium WebDriver。通过离线安装,开发者可以确保在...

    elementUi离线网页教程_2019最新.rar

    1. **安装与引入**:讲解如何在项目中安装 ElementUI,包括使用 npm、yarn 或者直接引入 CDN 链接的方式,以及如何配置项目的 main.js 文件来全局注册组件。 2. **基本组件**:ElementUI 提供了诸如按钮、输入框、...

    binary-install:通过npm安装二进制应用程序

    二进制安装通过npm安装.tar.gz二进制应用程序用法该库提供了一个单一的Binary类,该类具有下载URL和一些可选参数。 创建Binary时,必须提供name或installDirectory 。 选项解密名称您的二进制文件的名称install...

    layui官网离线开发文档.zip

    离线文档通常包括了Layui的介绍、安装指南、基础使用方法、组件详解、API参考以及示例代码等内容。Layui的基础部分可能涵盖以下几个方面: 1. **简介**:Layui的核心理念是模块化和组件化,它使得代码结构清晰,...

    echarts5+的离线文档

    1. **安装与引入**:了解如何在项目中安装ECharts 5+,无论是通过npm、CDN还是直接下载,以及如何在HTML文件中引入ECharts库。 2. **基本使用**:学习如何初始化ECharts实例,配置图表的基本属性,如容器ID、图表...

    iview官网下载-内网离线可查看

    2. **安装与引入**:学习如何在项目中安装iView,可以通过npm或yarn进行全局安装,然后在main.js文件中引入并配置。 3. **按需引入**:为了减小程序体积,iView支持按需引入,只导入你需要使用的组件和指令。 4. *...

    ElementUI离线文档(1.4-2.4)

    - 离线文档还包括安装教程、基本使用方法以及与其他框架(如 Vuex、Vue Router)的集成指南。 - 安装:可以通过 npm 或 yarn 安装 ElementUI,并在项目中引入。 - 引入组件:按需引入可以减少应用的体积,只加载...

    OpenLayers离线帮助文件

    1. **安装与配置**:详细介绍了如何在项目中引入OpenLayers库,包括通过CDN链接、下载源码文件以及使用npm或yarn进行包管理器安装的方法。 2. **基本概念**:讲解了地图、图层、投影、控制等OpenLayers中的核心概念...

Global site tag (gtag.js) - Google Analytics