gpt4 book ai didi

node.js - 为什么 npm 在我的主目录中安装本地包?

转载 作者:搜寻专家 更新时间:2023-11-01 00:11:29 25 4
gpt4 key购买 nike

这里是 Node.js 新手,Windows 10。我在没有 的目录中 npm install-ed 了一些包(没有 -g)包.json。 npm 将包放在 C:\Users\{MyName}\node_modules\ 中。

现在我看到了一些奇怪的行为:

  • 当我在我的项目目录中时(有 package.json 但还没有 node_modules/),npm list npm list -g 都显示一个空列表
  • 当我在非项目目录中时(没有 package.json)...
    • npm list -g 仍然显示一个空列表
    • 但是,npm list 会显示 C:\Users\{MyName}\node_modules\ 中的所有内容

问题 1. 这里发生了什么?显然,npm's default global path should be C:\Users\{MyName}\AppData\Roaming\npm\ .如果是这样,为什么要使用 C:\Users\{MyName}\node_modules\

问题 2. 我如何摆脱这个烂摊子? Node.js 从 C:\Users\{MyName}\node_modules\ 导入包没有问题,但我希望 npm 正确列出它们。如何删除半全局包,正确重新安装它们,并确保不再发生这种情况?

最佳答案

好吧,事实证明我一直错误地npm install-ing 包没有 package.json。我第一次这样做是在我的主目录 (C:\Users\{MyName}\) 中。这导致 npm 在主目录中创建 node_modules/package-lock.json。进一步(错误的)尝试在我的项目中安装包——仍然缺少 package.json——导致 npm 向上遍历,直到找到初始的 node_modules/ 目录,并在那里安装所有东西。 Because my home directory is among the places Node.js looks for modules ,直到现在我才注意到我的错误。 :P

关于node.js - 为什么 npm 在我的主目录中安装本地包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50894761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com