当前位置: 首页 > 知识库问答 >
问题:

如何在pnpm全局安装时使用正确的registry?

谷梁凌
2024-03-13

使用pnpm安装全局http-server,被提示以前设置的淘宝npm源过期了,之前已经更新过registry了,非全局安装npm包时,能够正常使用

image.png

但是一旦使用pnpm add -g来全局安装就报错

image.png

尝试清除缓存,依旧无法解决问题

image.png

共有2个答案

陈斌蔚
2024-03-13

全局配置要加 --global

pnpm config set registry xxx --global

https://www.pnpm.cn/cli/config#--global--g

何勇
2024-03-13

这个问题看起来是因为你的全局pnpm安装还在使用旧的npm源。当你使用pnpm add -g进行全局安装时,它可能会使用旧的registry源。你可以尝试以下步骤来解决这个问题:

  1. 首先,你需要确保你的.npmrc文件(通常在用户主目录下,例如~/.npmrc)中的registry设置是正确的。这个文件通常包含类似registry=https://registry.npmjs.org/的行,指向你希望使用的npm源。
  2. 如果你已经更新了.npmrc文件,但问题依然存在,那么可能是因为pnpm的缓存问题。你可以尝试清除pnpm的缓存。这可以通过运行pnpm cache clean命令来完成。
  3. 如果上述步骤都没有解决问题,那么你可能需要直接在你的命令行或shell配置文件中(如.bashrc.zshrc等)设置npm的registry。这可以通过运行npm config set registry https://registry.npmjs.org/来完成。

请注意,这些步骤应该在全局范围内应用,而不仅仅是在你的项目目录中。如果你仍然遇到问题,那么可能需要更深入地查看你的环境配置,或者考虑重新安装pnpm。

这是一个更具体的步骤示例:

# 检查.npmrc文件中的registry设置cat ~/.npmrc# 如果需要,更新.npmrc文件中的registryecho "registry=https://registry.npmjs.org/" > ~/.npmrc# 清除pnpm缓存pnpm cache clean# 在命令行或shell配置文件中设置npm的registryecho "export NPM_CONFIG_REGISTRY=https://registry.npmjs.org/" >> ~/.bashrcsource ~/.bashrc# 现在你应该能够使用pnpm全局安装包pnpm add -g http-server

希望这些信息对你有所帮助!如果问题仍然存在,你可能需要提供更多的信息,以便我们能更准确地诊断问题。

 类似资料:
  • 问题内容: 我最近在OSX上安装了Node.js和npm模块,我认为设置有问题: 问题答案: 如果要全局安装npm模块,请确保使用new 标志,例如: 从1.0rc开始有关npm模块安装的一般建议(摘自blog.nodejs.org): 如果要安装要在程序中使用的东西,请使用require(’whatever’),然后 将其本地安装 在项目的根目录下。 如果要在外壳程序中安装要使用的东西,在命令行

  • 问题内容: 使用NPM全局安装电子时,试图解决此问题并得到以下错误: 问题答案: 正如npm提议的那样: 通过这样做,您可以将全局npm软件包的范围限制在用户帐户内,而不是在计算机中的所有用户之间共享。即使您是唯一的用户,也建议这样做。:-)

  • 问题内容: 这就是我的: 工作正常,但是,当我启动容器时,看到以下内容: 显然,这不是我想要的。据我了解,问题是默认情况下不会运行。这就是为什么Ruby不是来自RVM安装的原因。我该如何解决? 问题答案: 长话短说: 命令不会将bash作为登录shell启动。 说明: 当您运行没有它的invoke庆典,这使得选项行为就好像它被调用作为登录shell,初始化依赖于-ing分词或和初始化是或或任何其他

  • 我在C:\src中使用这一行 git克隆-B稳定https://github.com/flutter/flutter.git 在路径中,我键入这一行: 一些错误是:

  • Docker-V Docker版本1.12.3,构建8EAB29E hp:/var/run#sudo service docker status docker.service-docker应用程序容器引擎 Dec 08 16:04:35 hp Dockerd[11950]:/usr/bin/dockerd:/lib64/libdevmapper.so.1.02:找不到版本`DM_1_02_97'(

  • 编辑找到的#2个解决方案;见下文。 我正在使用VirtualEnv在Flask中编写一个小应用程序。这已经不是我第一次这么做了,但是这次和过去两次我都试过了,我遇到了同样的问题。当我并尝试安装一个包--,例如,它一直在全局安装,而不是在VirtualEnv中。奇怪的是,它只有在我停用之后才会发生,而且这种情况在那一刻是不一致的。 也就是说,如果我一次全部安装,我似乎能够安装我需要的所有东西,甚至偶