当我在包含项目package.json
和package-lock.json
的文件夹中执行npm audit时,出现以下错误:
0 info it worked if it ends with ok
1 verbose cli [ '/home/user/Downloads/node-v10.14.0-linux-x64/bin/node',
1 verbose cli '/home/user/Downloads/node-v10.14.0-linux-x64/bin/npm',
1 verbose cli 'audit' ]
2 info using npm@6.5.0
3 info using node@v10.14.0
4 verbose npm-session d5b5c65bd8e7ae03
5 verbose stack Error: Invalid tag name "[object Object]": Tags may not have any characters that encodeURIComponent encodes.
5 verbose stack at invalidTagName (/home/user/Downloads/node-v10.14.0-linux-x64/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:87:15)
5 verbose stack at fromRegistry (/home/user/Downloads/node-v10.14.0-linux-x64/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:290:13)
5 verbose stack at Function.resolve (/home/user/Downloads/node-v10.14.0-linux-x64/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:77:12)
5 verbose stack at Object.keys.forEach.name (/home/user/Downloads/node-v10.14.0-linux-x64/lib/node_modules/npm/node_modules/lock-verify/index.js:26:26)
5 verbose stack at Array.forEach (<anonymous>)
5 verbose stack at Promise.all.then.result (/home/user/Downloads/node-v10.14.0-linux-x64/lib/node_modules/npm/node_modules/lock-verify/index.js:25:25)
6 verbose cwd /home/user/projects/test-npm/CRYPTOSTORAGE/repos/crypto-storage/etc/approvalClient
7 verbose Linux 3.10.0-862.14.4.el7.x86_64
8 verbose argv "/home/user/Downloads/node-v10.14.0-linux-x64/bin/node" "/home/user/Downloads/node-v10.14.0-linux-x64/bin/npm" "audit"
9 verbose node v10.14.0
10 verbose npm v6.5.0
11 error code EINVALIDTAGNAME
12 error Invalid tag name "[object Object]": Tags may not have any characters that encodeURIComponent encodes.
13 verbose exit [ 1, true ]
如果这只会发生在一个项目上-但实际上确实发生在我尝试过的所有项目上(〜70)。有一个内部注册表,但是我都删除了本地.npmrc
和家里的一个注册表。另外我当时遇到的错误是一个不同的错误。
这是错误还是我做错了什么?
答案 0 :(得分:-1)
如果这是作者遇到的确切问题,则不是肯定的,但是当我将package.json的内容复制/粘贴到package-lock.json中时遇到了这个错误。当我搜索JS堆栈跟踪时,我意识到这些文件具有不同的对象格式并且不可互换。
如果npm install
工作正常,但是npm ci
和npm audit
失败并出现上述错误,则可能是您的问题。