npm install --global xxx 属于全局安装
npm install xxx 属于本地安装
1、全局路径
Windows下的Nodejs npm路径是appdata
cmd下执行以下命令
npm config set cache "D:\nodejs\node_cache"
npm config set prefix "D:\nodejs\node_global"
如果无效
在nodejs的安装目录中找到node_modules\npm\.npmrc文件
修改如下即可:
prefix = D:\nodejs\node_global
cache = D:\nodejs\node_global
[重要]环境变量配置:在环境变量path追加:D:\nodejs\node_global;
2、本地路径(项目级)
NODE_PATH 是干什么的呢?
操作系统中都会有一个PATH环境变量,想必大家都知道,当系统调用一个命令的时候,就会在PATH变量中注册的路径中寻找,如果注册的路径中有就调用,否则就提示命令没找到。
那 NODE_PATH 就是NODE中用来寻找模块所提供的路径注册环境变量
[加载机制]
NODE_PATH中的路径被遍历是发生在从项目的根位置递归搜寻 node_modules 目录,直到文件系统根目录的 node_modules,如果还没有查找到指定模块的话,就会去 NODE_PATH中注册的路径中查找。
这样,我们的项目就可以共享node_modules的依赖包。
差异性的解决方法
如果 项目A 使用了,express的3.x版本,项目B 使用了 express的4.x版本,那这种情况该怎么办呢?
可以将 NODE_PATH 指定的位置中存放 express的4.x版本,再将 项目B的 node_modules 目录中放置 3.x 版本。
这样就解决了模块版本差异性问题。
问题
在使用 --global 参数的时候 --save 或 --save-dev参数是无效的。
这样就带来一个问题。此时 package.json 中的 dependencies, devDependencies 将无法享受到npm自动更新带来的便利
热门文章
- @NotEmpty、@NotBlank等注解的正确使用 @Validated和@Valid的区别 解决@NotBlank等注解不生效的问题 使用BindingResult进行接口请求参数的统一校验
- VPN美国 | 2月13日18.1M/S|免费VPN/V2ray/SSR/Clash/Shadowrocket免费节点链接地址
- vue elementui点击按钮新增输入框
- VPN美国 | 3月7日21.4M/S|免费VPN/Shadowrocket/V2ray/SSR/Clash免费节点链接地址
- 生产动物疫苗的上市公司有哪些股票(生产动物疫苗的上市公司有哪些股票名称)
- 领养宠物需要给钱吗 领养宠物需要给钱吗现在
- 郭碧婷与向佐街头甜蜜牵手,激发众人羡慕的恩爱氛围!
- TensorFlow 模型保存/载入的两种方法
- VPN美国 | 3月14日20.6M/S|免费VPN/Shadowrocket/V2ray/Clash/SSR免费节点链接地址
- 狗粮牌子推荐(狗粮牌子推荐排行榜)