首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

npm i 安装依赖后,项目目录文件没有显示node_modules

问题描述:npm i 依赖安装成功,但是项目目录文件没有显示node_modules(之前我npm i,直接就是安装到当前项目目录,这次不知为何,仅仅是把package.lock.js文件删除掉后再npm...i就直接安装到全局)问题思考:可能是把依赖安装到全局了 解决方案1.查看是否安装有全局依赖npm root -g //查看全局,是否有自己安装的包可以看到,我是有全局安装依赖的,根据路径可以找到2....查看npm配置信息npm config list //查看npm配置可以看到配置信息 global = false,意思局部安装,如果全局的话为true 3.修改配置信息npm config set...global = false4.重新npm i安装依赖我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

35310
您找到你想要的搜索结果了吗?
是的
没有找到

通过一个具体的例子理解 npm 的 peerDependency

这里的重点是,如果开发人员将 B 声明为 A、C 和 D 的 peer dependency 依赖,则我们选择的包管理器会做两件事之一。...它要么只是忽略这种依赖关系(就像 Yarn 默认情况所做的那样),让开发人员来自行作出抉择。...要么像 NPM 一样: 检查 B 是否已经安装 如果是,结束当前的检测,进行下一个包的处理 则忽略它 如果不是,包管理器会试图将 B 正确安装级别(即在 project/node_module 中...如果安装失败,会中止并显示对应的错误消息 不能成功安装对等依赖的原因之一,是存在冲突的版本。 举个例子,A 依赖于 B 的 2.0.0 版本,C 依赖于 B 的7.1.3 版本。...这种情况,需要开发人员自行作出抉择。 当我们开发将被其他 consume 重用的代码(例如 plugin 和 package)时,对等依赖会真正发挥作用。

37720

NPM 7:这才算是真正的更新

准备好之后,你要做的就是每个项目中都创建一个 package.json,并在其中声明其所需的依赖。 然后,你从文件夹运行 npm install,让 NPM 完成剩余的工作。...core 文件夹也是如此,我们在其中将 Express 声明为其主要共享依赖: 现在,我们可以从文件夹运行 npm install,你觉得会发生什么呢?...它将在一个通用的 node_modules 文件夹中安装所有这些工作区所需的所有内容。因此,重复的依赖不会占用多份空间。...有了这些命令和文件夹结构后,你根目录级别的 node_modules 文件夹中安装了所有三个模块(及其必需的依赖)。但是,其层次结构内的任何文件都能访问所有这三个文件。...理论上讲这都没什么问题,但如果你要自动安装这些依赖,那么当你添加两个具有相同依赖但版本不同的软件包时,两个版本就会同时安装(其中一个位于常规的 node_modules 文件夹中,另一个作为需要它的包的子依赖

1.6K30

关于 npm 和 yarn 总结一些细节

3、yarn 和 npm 卸载了包以后,node_modules 里面的包会被删除吗?...工程本身是整棵依赖树的节点,每个首层依赖模块都是节点下面的一棵子树,npm 会开启多进程从每个首层依赖模块开始逐步寻找更深层级的节点。 获取模块。...这样安装新的包时,根据 node require 机制,会不停往上级的 node_modules 当中去找,如果找到相同版本的包就不会重新安装,解决了大量包重复安装的问题,而且依赖层级也不会太深。...5.1.0 版本后: 当 package.json 中的依赖有新版本时,npm install 会无视 package-lock.json 去下载新版本的依赖并且更新 package-lock.json...yarn 2.x 摆脱 node_modules安装、模块速度加载快;所有 npm 模块都会存放在全局的缓存目录下,避免多重依赖;严格模式下子依赖不会提升,也避免了幽灵依赖

59040

基于pnpm + lerna + typescript的最佳项目实践 - 理论篇

嵌套安装 npm@3 之前,node_modules结构是干净、可预测的,因为node_modules 中的每个依赖都有自己的node_modules文件夹,package.json中指定了所有依赖...上的目录路径过长问题 当一个package不同的依赖中需要时,它会被多次复制粘贴并生成多份文件 Flat installation 扁平安装 为了解决上述问题,npm 重新考虑了node_modules...例如使用 npm或yarn 对项目安装依赖依赖里面有个依赖叫做 foo,foo 这个依赖同时依赖了 bar,yarn 会对安装node_modules 做一个扁平化结构的处理,会把依赖 node_modules...Virtual store 虚拟存储,指向存储的链接的目录,所有直接和间接依赖都链接到此目录中,项目当中的.pnpm目录 如果是 npm 或 yarn,那么这个依赖多个项目中使用,每次安装的时候都会被重新下载一次...而在npm和yarn中,如何一个依赖被多个项目使用,会发生多次下载和安装! 如果是 npm 或 yarn,那么这个依赖多个项目中使用,每次安装的时候都会被重新下载一次。

3.3K20

果断放弃npm切换到pnpm--节约磁盘空间(256G硬盘救星)

节约磁盘空间 pnpm 依赖将存储一个全局内容可寻址的仓库中(${os.homedir}/.pnpm-store),具体项目中使用依赖采用硬链接方式,而不是进行复制。...如果你用到了某依赖的不同版本,那么只会将有差异的文件添加到仓库(公共仓库)。 所有文件都会存储硬盘上的同一位置。...扁平化的 node_modules 文件夹 回归一 node_modules 结构历史: 第一阶段:npm@3 之前版本 node_modules └─ foo ├─ index.js...,会导致 Windows 上的目录路径过长问题 相同包在不同的依赖中需要时,会存在多个相同副本 第二阶段:npm@3 版本,扁平化处理 主要是解决上述两个问题 node_modules ├─ foo...chokidar 用于监听文件夹内容变化,通过 npm 安装后结构 依赖包如此之多,正是由于扁平化处理而来。

1.7K10

果断放弃npm切换到pnpm--节约磁盘空间(256G硬盘救星)

节约磁盘空间 pnpm 依赖将存储一个全局内容可寻址的仓库中(${os.homedir}/.pnpm-store),具体项目中使用依赖采用硬链接方式,而不是进行复制。...如果你用到了某依赖的不同版本,那么只会将有差异的文件添加到仓库(公共仓库)。 所有文件都会存储硬盘上的同一位置。...扁平化的 node_modules 文件夹 回归一 node_modules 结构历史: 第一阶段:npm@3 之前版本 node_modules └─ foo ├─ index.js...,会导致 Windows 上的目录路径过长问题 相同包在不同的依赖中需要时,会存在多个相同副本 第二阶段:npm@3 版本,扁平化处理 主要是解决上述两个问题 node_modules ├─ foo...chokidar 用于监听文件夹内容变化,通过 npm 安装后结构 依赖包如此之多,正是由于扁平化处理而来。

3.2K20

每日两题 T21

npm 模块安装机制 npm 模块安装机制: •敲击npm install命令•查询node_modules目录之中是否已经存在指定模块 •若存在,不再重新安装•若不存在 •npm 向 registry...模块扁平(dedupe) 上一步获取到的依赖树,需要清除重复模块。比如 A 模块依赖于 moment,B 模块也依赖 moment。 npm3 以前会严格按照依赖树的结构进行安装,会造成模块冗余。...从 npm3 开始默认加入了一个 dedupe 的过程。它会遍历所有节点,逐个将模块放在节点下面,也就是 node-modules 的第一层。当发现有重复模块时,则将其丢弃。...: node_modules -- foo -- bar -- lodash(保留的版本为兼容版本) 假设 version1 和 version2 为兼容版本,则后面的版本保留在依赖树中: node_modules...-- foo -- lodash@version1 -- bar ---- lodash@version2 安装模块 更新工程中的 node_modules,并执行模块中的生命周期函数(preinstall

40130

很多人上来就删除的package-lock.json,还有这么多你不知道的!

一般的,主版本不变的情况,不会带来核心功能变动,API 应该兼容旧版,但是这在开源的世界里很难控制,尤其复杂项目的众多依赖包中难免会引入一些意想不到的 bug。...通过运行 npm shrinkwrap,会在当前目录下生成一个 npm-shrinkwrap.json 文件,它是 package.json 中列出的每个依赖的大型列表,应安装的特定版本,模块的位置(...5.1.0 版本后: 当 package.json 中的依赖有新版本时,npm install 会无视 package-lock.json 去下载新版本的依赖并且更新 package-lock.json...工程本身是整棵依赖树的节点,每个首层依赖模块都是节点下面的一棵子树,npm 会开启多进程从每个首层依赖模块开始逐步寻找更深层级的节点。 获取模块。...(没有 VPN 情况),比如:node-sass、puppeteer、chromedriver、electron 等。

3.4K50

最高性能的包管理器-pnpm

pnpm 默认创建了一个平铺的 node_modules,因此代码无法访问任意包 npm 和 yarn 包管理机制 npm@3 之前 采用的是一种嵌套安装的方式。...├─ index.js └─ package.json 缺点: package 中经常创建太深的依赖树,这会导致 Windows 上的目录路径过长问题 当一个 package 不同的依赖中需要时...幻影依赖指的是 node_modules 中的依赖包在没有 package.json 中声明的情况使用了其他包的依赖 依赖结构的不确定性。这里为什么是 D@2.0.0 提升,而不是 D@10.0?...相同的包安装了两次,占用磁盘空间,相对的安装的速度也会变慢 单例。...Store pnpm全局通过Store来存储所有的 node_modules 依赖,并且 .pnpm 中存储项目的hard links 使用 pnpm 对项目安装依赖的时候,如果某个依赖 sotre

1.6K20

带你了解一些package.json的骚操作

它们是我们生产环境所需要的依赖把项目作为一个 npm 包的时候,用户安装 npm 包时只会安装 dependencies 里面的依赖。...指定模块适用系统(os) 假如我们开发了一个模块,只能跑 darwin 系统,我们需要保证 windows 用户不会安装到该模块,从而避免发生不必要的错误。...指定项目 node 版本(engines) 有时候,新拉一个项目的时候,由于和其他开发使用的 node 版本不同,导致会出现很多奇奇怪怪的问题(如某些依赖安装报错、依赖安装完项目跑步起来等)。...版本: "engines": { "npm": ">= 6.9.0" }, 需要注意的是,engines属性仅起到一个说明的作用,当用户版本不符合指定值时也不影响依赖安装。...当用户安装带有 bin 字段的包时, 如果是全局安装npm 将会使用符号链接把这些文件链接到/usr/local/node_modules/.bin/; 如果是本地安装,会链接到.

1.8K40

NodeJS 入门了解

我们 NodeJS 上开发时,会用到很多别人已经写好的 javascript 代码,如果每当我们需要别人的代码时,都根据名字搜索一,下载源码,解压,再使用,会非常麻烦。...3 NodeJS 的安装 直接网上下载安装就可以了。环境配置,其实就是 path,加入 NodeJS 的安装目录,这样就可以控制台使用 NodeJS 的命令。...,运行 npm init 按照步骤填写最终生成 package.json 文件,所有使用 npm依赖管理的项目,根目录下都会有一个这个文件,该文件描述了项目的基本信息以及一些第三方依赖(插件)。...安装完成之后,查看 package.json 可看到多了 devDependencies 和 dependencies 两,根目录也多了一个 node_modules 文件夹。.../node_modules/webpack/package.json 中的dependencies 会被 npm 安装上,而 devDependencies 也没必要安装

47441

常用的package.json,还有这么多你不知道的骚技巧

它们是我们生产环境所需要的依赖把项目作为一个 npm 包的时候,用户安装 npm 包时只会安装 dependencies 里面的依赖。...指定模块适用系统(os) 假如我们开发了一个模块,只能跑 darwin 系统,我们需要保证 windows 用户不会安装到该模块,从而避免发生不必要的错误。...指定项目 node 版本(engines) 有时候,新拉一个项目的时候,由于和其他开发使用的 node 版本不同,导致会出现很多奇奇怪怪的问题(如某些依赖安装报错、依赖安装完项目跑步起来等)。...当用户安装带有 bin 字段的包时, 如果是全局安装npm 将会使用符号链接把这些文件链接到/usr/local/node_modules/.bin/; 如果是本地安装,会链接到....一般来说,我们打包的静态资源会部署 CDN 上,为了让我们的应用知道去哪里加载资源,则需要我们设置一个路径,这时可以通过 package.json 中的 homepage 字段设置应用的路径。

1.6K30

卸载 npm 软件包

卸载 npm 软件包 若要卸载之前本地安装 node_modules 文件夹使用 npm install )的软件包,则从项目的文件夹(包含 node_modules 文件夹的文件夹)中运行:...npm uninstall 如果使用 -S 或 --save 标志,则此操作还会移除 package.json 文件中的引用。...如果程序包是开发依赖(列出在 package.json 文件的 devDependencies 中),则必须使用 -D 或 --save-dev 标志从文件中移除: 此代码由Java架构师必看网-架构君整理...npm uninstall -S npm uninstall -D 如果该软件包是全局安装的,则需要添加 -g 或 --global 标志:...npm uninstall -g 例如: 此代码由Java架构师必看网-架构君整理 npm uninstall -g webpack 可以系统上的任何位置运行此命令,因为当前所在的文件夹无关紧要

2K20

带你了解一些package.json的骚操作

它们是我们生产环境所需要的依赖把项目作为一个 npm 包的时候,用户安装 npm 包时只会安装 dependencies 里面的依赖。...指定模块适用系统(os) 假如我们开发了一个模块,只能跑 darwin 系统,我们需要保证 windows 用户不会安装到该模块,从而避免发生不必要的错误。...指定项目 node 版本(engines) 有时候,新拉一个项目的时候,由于和其他开发使用的 node 版本不同,导致会出现很多奇奇怪怪的问题(如某些依赖安装报错、依赖安装完项目跑步起来等)。...版本: "engines": { "npm": ">= 6.9.0" }, 需要注意的是,engines属性仅起到一个说明的作用,当用户版本不符合指定值时也不影响依赖安装。...当用户安装带有 bin 字段的包时, 如果是全局安装npm 将会使用符号链接把这些文件链接到/usr/local/node_modules/.bin/; 如果是本地安装,会链接到.

1.7K50

JavaScript 包管理器

安装依赖时,npm 将检查这些文件,以确保相同版本的依赖在任何地方都得到安装。...npm 安装依赖时会一次性将所有包下载到本地的 node_modules 目录中, 因此 node_modules 中会出现很多重复的包。...相比于 npm 和 Yarn,即使大型项目中,pnpm 仍然可以很好地管理依赖,并且能够加快安装速度。...npm 2 的依赖管理 npm 2 依赖管理: 会按照安装包的依赖树形结构直接填充本地的目录结构 比如 express 和 koa 他们会同时依赖 accepts, 那么 install 之后生成的...用 pnpm 安装 express@4.18.1 和 koa@2.13.4,生成的目录如下所示: node_modules 中的依赖只有 package.json 中手动引入的依赖 express

94110

包管理工具

#包管理工具的功能 处理和编写元数据 批量安装或更新所有依赖 添加、更新和删除依赖 运行脚本 发布软件包 进行安全审查 #简史 第一个发布的软件包管理器是 npm ,早在 2010 年就已经存在了。...npm 引入了一些概念: package.json 文件 元数据字段(例如,devDependencies) node_modules 中存储依赖 自定义脚本 公共和私有包注册 node_modules...使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证不同系统上无差异的工作 #创新性 离线模式 如果你以前安装过某个包,再次安装时可以没有任何互联网连接的情况进行。...pnpm 引入了一种替代的依赖解析策略:内容寻址存储。 这个方式导致你的 node_modules 文件夹里面的依赖包都将存储 ~/.pnpm-store/ 。...而 PnP,它记录了依赖的准群硬盘位置,可以查找依赖时减少硬盘读写,同时,可以做到所有依赖完全扁平化。

2.7K20

npm 依赖管理中被忽略的那些细节

这些问题平时大家可能没有注意过,今天我们就来一起研究一吧。 A 和 B 同时依赖 C,这个包会被安装在哪里呢?...npm 2 安装依赖包时,采用简单的递归安装方法。...某些情况,确实如此。但在多数情况npm 无法做到这一点。有以下两个原因: 1)某些依赖自上次安装以来,可能已发布了新版本 。...安装时,npm 会比较 node_modules 已有的包,和 package-lock.json 进行比较,如果重复的话,就跳过安装 ,从而优化了安装的过程。...同等依赖 bundledDependencies 捆绑依赖包 下面我们来看一这几种依赖的区别以及各自的应用场景: dependencies dependencies 是无论开发环境还是在生产环境都必须使用的依赖

2.4K10
领券