错误:双重加载配置“E:\Node\.npmrc”为“user”,以前加载为“project”

jexiocij  于 2023-08-04  发布在  Node.js
关注(0)|答案(1)|浏览(145)

当我尝试执行任何npm命令时,我得到以下错误:

Error: double-loading config "E:\Node\.npmrc" as "user", previously loaded as "project"

字符串
但是当我使用-g参数全局运行npm时,它可以工作。E:\Node是所有项目共享的全局安装文件夹。npm -g config list的输出是:

E:\Node>npm -g config list
; "builtin" config from E:\Node\node_modules\npm\npmrc

; prefix = "C:\\Users\\raherne\\AppData\\Roaming\\npm" ; overridden by global

; "global" config from C:\Users\raherne\AppData\Roaming\npm\etc\npmrc

cache = "E:\\Node\\npm-cache"
HOME = "E:\\Node"
prefix = "E:\\Node"
registry = "https://registry.npmjs.org/"
userconfig = "E:\\Node\\.npmrc"

; "cli" config from command line options

global = true

; node bin location = E:\Node\node.exe
; node version = v18.12.1
; npm local prefix = E:\Node
; npm version = 8.19.2
; cwd = E:\Node
; HOME = C:\Users\raherne
; Run `npm config ls -l` to show all defaults.


但是我不能在全球范围内运行像npm-audit这样的东西,所以仍然需要解决这个问题

q35jwt9p

q35jwt9p1#

我在Linux VM上运行的Azure DevOps管道中遇到了这个问题。我在Bash中使用curl调用安装了firebase-tools:

- bash: |
  curl -sL https://firebase.tools | bash

字符串
在运行预部署lint for Firebase Functions deploy时,管道将失败,并显示最初发布的错误:

Running command: npm --prefix "$RESOURCE_DIR" run lint:fix


修复方法是使用NPM安装firebase-tools,如下所示:

- task: Bash@3
  displayName: Install Firebase Tools
  inputs:
    targetType: 'inline'
    script: |
      npm install -g firebase-tools


这让我相信这个错误是package.json中脚本问题的误称。我希望这对某人有帮助!

相关问题