npm安装未到目标目录,执行npm i后当前文件夹无node_modules问题求助
问题产生原因
- 缺少项目配置文件:你当前操作的
C:\Users\User\OneDrive\Desktop\folder目录下不存在package.json文件,npm执行本地安装时会自动向上递归查找父级目录的package.json,匹配到后就会将依赖包安装到对应父目录的node_modules文件夹中,不会在当前目录生成安装文件。如果所有父级目录都没有找到package.json,部分npm版本会默认将包安装到你查询到的全局路径C:\Users\User\AppData\Roaming\npm下的node_modules目录中。 - npm默认安装配置异常:如果npm配置被修改为默认全局安装,所有
npm install命令都会将包安装到全局路径,不会写入当前项目目录。 - 上层目录存在隐藏配置:父级目录存在隐藏的
package.json或node_modules目录,npm匹配到上层配置后不会在当前目录写入安装文件。
解决方法
- 先检查npm默认安装配置,执行命令
npm config get global,如果返回结果为true,执行npm config set global false关闭默认全局安装即可。 - 在目标安装目录初始化npm项目,进入
C:\Users\User\OneDrive\Desktop\folder目录后执行npm init -y,快速生成默认package.json配置文件。 - 重新执行安装命令
npm i node-superfetch,安装完成后执行dir即可看到当前目录下生成了node_modules文件夹、package.json和package-lock.json文件,依赖包已安装到当前目录的node_modules中。 - 若仍需定位之前安装的包路径,可执行
npm ls node-superfetch,命令会直接输出该包的实际存储路径。
内容的提问来源于stack exchange,提问作者account 1
相关产品推荐
相关产品推荐

