赞
踩
本文记录在使用npm安装依赖包过程中踩过的坑。一般来说,npm安装失败时需要注意下面几点:
node
版本是否兼容已有模块node_modules解决npm ERR! code ENOENT
解决方案1:npm cache clean --force
解决方案2:
npm ERR! enoent ENOENT: no such file or directory, open '/home/sida/repo/did-sidetree.js/node_modules/write-pkg/node_modules/pify/package.json.909409536'
用npm install 单独安装报错中出现的包名:例如出现上边的错,则npm install pify --registry=https://registry.npm.taobao.org
在使用npm
安装node
的模块的时候,经常会出现下面的一些错误:
这些错误的原因很有可能是npm使用默认的源下载安装包,而默认的安装源是国外网站,国内访问不了无法获取依赖包信息。
这时只需要更换为国内的安装源即可,可在命令行更换为国内淘宝的源:
- # 查看自己的安装源
- npm config get registry
-
- # 更换npm源为国内淘宝镜像
- npm config set registry http://registry.npm.taobao.org/
-
- # 或者更换为国内npm官方镜像
- npm config set registry http://registry.cnpmjs.org/
-
- # 还原npm源
- npm config set registry https://registry.npmjs.org/
Bash
上面介绍了通过命令行设置安装源地址的办法,另外还可以设置代理,以及编辑配置文件等方法。
- # 命令行设置代理
- npm config set proxy="http://127.0.0.1:1034"
-
- # 还可以直接使用npm设置,不需要config
- npm --registry https://registry.npm.taobao.org info underscore
Bash
另外还可以直接编辑npm安装配置文件:.npmrc
,在文件末尾添加两行:
- registry="http://registry.npmjs.org"
-
- proxy="http://127.0.0.1:1034"
Config
这个文件一般在用户目录或者安装目录下。
这个是因为HTTPS的设置问题,可以有两种办法解决:
命令如下:
- # 关闭SSL检查
- npm config set strict-ssl false
-
- # 使用http安装源
- npm config set registry="http://registry.npmjs.org/"
Bash
这个错误的原因很有可能是按照依赖包的过程重网络超时等导致,可以通过清空node_module修复:
- # 删除node_modules目录
- rm -rf node_modules/
-
- # 情况缓存
- npm cache clean
-
- # 重新安装
- npm install
Bash
有时候,因为node
版本过低也会导致该问题,可以使用下面命令更新node
:
npm update -g npm
Bash
npm install时报错:
npm ERR! code EINTEGRITY
npm ERR! sha512- sha512-rkIa1OSVWTt4g9leLSK/PsqOj3HZbDKHbZj
这个问题有可能是npm版本过低导致,需要更新npm版本:
- # 更新npm
- npm install -g npm
-
- # 继续安装
- npm install
Bash
安装时出现:
npm ERR! code EPERM
npm ERR! errno -4048
这个错误出现的原因很多,其中一个是因为npm安装缓存的问题,可以尝试执行下面命令清空缓存。
npm cache clean --force
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。