$ npm install --global [email protected]
changed 1 package, and audited 1 package in 2s
found 0 vulnerabilities
$ npm update --global
npm ERR! global requires an add or rm option
npm ERR! A complete log of this run can be found in:
npm ERR! /home/felipesantos/.npm/_logs/2020-10-14T13_14_27_261Z-debug.log
$ npm update --global semver
npm ERR! global requires an add or rm option
npm ERR! A complete log of this run can be found in:
npm ERR! /home/felipesantos/.npm/_logs/2020-10-14T13_17_01_600Z-debug.log
$ cat /home/felipesantos/.npm/_logs/2020-10-14T13_14_27_261Z-debug.log
0 verbose cli [
0 verbose cli '/home/felipesantos/.nvm/versions/node/v12.19.0/bin/node',
0 verbose cli '/home/felipesantos/.nvm/versions/node/v12.19.0/bin/npm',
0 verbose cli 'update',
0 verbose cli '--global'
0 verbose cli ]
1 info using [email protected]
2 info using [email protected]
3 timing config:load:defaults Completed in 1ms
4 timing config:load:file:/home/felipesantos/.nvm/versions/node/v12.19.0/lib/node_modules/npm/npmrc Completed in 1ms
5 timing config:load:builtin Completed in 1ms
6 timing config:load:cli Completed in 2ms
7 timing config:load:env Completed in 0ms
8 timing config:load:file:/mnt/c/Users/felip/.npmrc Completed in 1ms
9 timing config:load:project Completed in 3ms
10 timing config:load:file:/home/felipesantos/.npmrc Completed in 0ms
11 timing config:load:user Completed in 0ms
12 timing config:load:file:/home/felipesantos/.nvm/versions/node/v12.19.0/etc/npmrc Completed in 0ms
13 timing config:load:global Completed in 0ms
14 timing config:load:cafile Completed in 0ms
15 timing config:load:validate Completed in 0ms
16 timing config:load:setUserAgent Completed in 1ms
17 timing config:load:setEnvs Completed in 0ms
18 timing config:load Completed in 8ms
19 verbose npm-session 38aa94d0b0d83ff4
20 timing npm:load Completed in 14ms
21 timing arborist:ctor Completed in 0ms
22 timing command:update Completed in 2ms
23 verbose stack Error: global requires an add or rm option
23 verbose stack at Arborist.buildIdealTree (/home/felipesantos/.nvm/versions/node/v12.19.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:185:29)
23 verbose stack at Arborist.[loadTrees] (/home/felipesantos/.nvm/versions/node/v12.19.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:186:17)
23 verbose stack at Arborist.reify (/home/felipesantos/.nvm/versions/node/v12.19.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:121:27)
23 verbose stack at update (/home/felipesantos/.nvm/versions/node/v12.19.0/lib/node_modules/npm/lib/update.js:34:13)
23 verbose stack at cmd (/home/felipesantos/.nvm/versions/node/v12.19.0/lib/node_modules/npm/lib/update.js:15:27)
23 verbose stack at Object.[_runCmd] (/home/felipesantos/.nvm/versions/node/v12.19.0/lib/node_modules/npm/lib/npm.js:112:7)
23 verbose stack at fn (/home/felipesantos/.nvm/versions/node/v12.19.0/lib/node_modules/npm/lib/npm.js:46:40)
23 verbose stack at Object.<anonymous> (/home/felipesantos/.nvm/versions/node/v12.19.0/lib/node_modules/npm/lib/cli.js:56:7)
24 verbose cwd /mnt/c/Users/felip
25 verbose Linux 4.19.104-microsoft-standard
26 verbose argv "/home/felipesantos/.nvm/versions/node/v12.19.0/bin/node" "/home/felipesantos/.nvm/versions/node/v12.19.0/bin/npm" "update" "--global"
27 verbose node v12.19.0
28 verbose npm v7.0.0
29 error global requires an add or rm option
30 verbose exit 1
在v7.0.0之前,运行npm update --global
将更新全局安装的所有已过时的软件包。
安装一个过时的全局软件包,然后尝试更新所有软件包。
也可以为我确认这种情况...
➜ event-centre npm -v
7.0.0
➜ event-centre npm -g update
npm ERR! global requires an add or rm option
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/michael/.npm/_logs/2020-10-17T21_49_17_159Z-debug.log
➜ event-centre cat /Users/michael/.npm/_logs/2020-10-17T21_49_17_159Z-debug.log
0 verbose cli [
0 verbose cli '/Users/michael/.nvm/versions/node/v14.13.0/bin/node',
0 verbose cli '/Users/michael/.nvm/versions/node/v14.13.0/bin/npm',
0 verbose cli '-g',
0 verbose cli 'update'
0 verbose cli ]
1 info using [email protected]
2 info using [email protected]
3 timing config:load:defaults Completed in 1ms
4 timing config:load:file:/Users/michael/.nvm/versions/node/v14.13.0/lib/node_modules/npm/npmrc Completed in 0ms
5 timing config:load:builtin Completed in 0ms
6 timing config:load:cli Completed in 2ms
7 timing config:load:env Completed in 0ms
8 timing config:load:file:/Volumes/Developer/event-centre/.npmrc Completed in 0ms
9 timing config:load:project Completed in 1ms
10 timing config:load:file:/Users/michael/.npmrc Completed in 1ms
11 timing config:load:user Completed in 1ms
12 timing config:load:file:/Users/michael/.nvm/versions/node/v14.13.0/etc/npmrc Completed in 0ms
13 timing config:load:global Completed in 0ms
14 timing config:load:cafile Completed in 0ms
15 timing config:load:validate Completed in 0ms
16 timing config:load:setUserAgent Completed in 1ms
17 timing config:load:setEnvs Completed in 0ms
18 timing config:load Completed in 7ms
19 verbose npm-session 7a6ea29e573a5509
20 timing npm:load Completed in 12ms
21 timing arborist:ctor Completed in 0ms
22 timing command:update Completed in 3ms
23 verbose stack Error: global requires an add or rm option
23 verbose stack at Arborist.buildIdealTree (/Users/michael/.nvm/versions/node/v14.13.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:185:29)
23 verbose stack at Arborist.[loadTrees] (/Users/michael/.nvm/versions/node/v14.13.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:186:17)
23 verbose stack at Arborist.reify (/Users/michael/.nvm/versions/node/v14.13.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:121:27)
23 verbose stack at update (/Users/michael/.nvm/versions/node/v14.13.0/lib/node_modules/npm/lib/update.js:34:13)
23 verbose stack at cmd (/Users/michael/.nvm/versions/node/v14.13.0/lib/node_modules/npm/lib/update.js:15:27)
23 verbose stack at Object.[_runCmd] (/Users/michael/.nvm/versions/node/v14.13.0/lib/node_modules/npm/lib/npm.js:112:7)
23 verbose stack at fn (/Users/michael/.nvm/versions/node/v14.13.0/lib/node_modules/npm/lib/npm.js:46:40)
23 verbose stack at Object.<anonymous> (/Users/michael/.nvm/versions/node/v14.13.0/lib/node_modules/npm/lib/cli.js:56:7)
24 verbose cwd /Volumes/Developer/event-centre
25 verbose Darwin 19.6.0
26 verbose argv "/Users/michael/.nvm/versions/node/v14.13.0/bin/node" "/Users/michael/.nvm/versions/node/v14.13.0/bin/npm" "-g" "update"
27 verbose node v14.13.0
28 verbose npm v7.0.0
29 error global requires an add or rm option
30 verbose exit 1
npm更新--global失败:npm错误! 全局需要添加或rm选项
如果我只想更新全局软件包,则会出现相同的错误:
npm -g update
要么
npm -g upgrade
在Windows和Debian 10上使用v7.0.1可以看到它。
这些为6.x工作
似乎在v7.0.2中已修复
我仍然在7.0.2中看到相同的问题
$ npm -v
7.0.2
$ npm -g更新
npm ERR! 全局需要添加或rm选项
我可以在Windows 10 x64的npm 7.0.3中确认相同的行为。 刚刚从npm @ 6升级并获得了此惊喜。
macOS nodejs v15上的npm v 7.0.2存在相同的问题。
npm ERR! 全局需要添加或rm选项
npm ERR! 可以在以下位置找到此运行的完整日志:
npm ERR! /Users/user/.npm/_logs/2020-10-21T09_28_30_807Z-debug.log
[email protected] /Users/username/.nvm/versions/node/v15.0.1/lib/node_modules/npm
❯ npm update -g
npm ERR! global requires an add or rm option
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/username/.npm/_logs/2020-10-22T20_49_47_598Z-debug.log
对我来说也是一样。 MacOS,npm v7.0.3。 使用nvm。
相同。 在MacOS上,使用Brew。
我brew rm node
和brew install node
来解决npm ls -g
不显示任何程序包的问题。
之后,我npm i npm@^6 -g
然后运行npm update -g
(实际上,我也首先做了npm update eslinst<strong i="12">@lastest</strong> -g
)
然后,我运行了npm i npm<strong i="15">@latest</strong> -g
,现在npm update -g
没有报告错误。 (现在没有可用的更新,但是对于我来说,现在似乎是固定的。)
我做了与@WraithKenny相同的npm i npm -g
而不指定@^6
,它将默认安装__ver 6.14.8__,但是当您npm list -g
,它什么也没显示。 然后,我重新安装了npm,但是版本7 >> npm i npm<strong i="9">@7</strong> -g
现在没有错误,当我npm list -g
它显示了所有全局安装的软件包,并且不再有错误。
由于npm 7不是最新版本,因此您不希望在使用npm 7时使用npm install -g npm
,因为它将降级到6。请使用@7
来确保您停留在v7上。
今天,在将节点更新到版本15.0.1并同时将npm更新到版本7.0.5之后,我在Win 10上遇到了此问题。 快速查看调试日志堆栈跟踪中的文件,指向文件npm \ node_modules \ npm \ node_modules @ npmcli \ arborist \ lib \ arboristbuild-ideal-tree.js中的以下行(184-5):
if (!options.add && !options.rm && this[_global])
return Promise.reject(new Error('global requires an add or rm option'))
这是我第一次深入研究底层代码,从这些方面的上下文中我还不清楚,它们的预期目的是什么,但是它们显然使除add或rm之外的任何全局更新操作都很难停止。
brew install nodejs
npm update --global --quiet
npm ERR! global requires an add or rm option
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/xxxxxxxx/.npm/_logs/2020-10-24T04_20_28_320Z-debug.log
@WraithKenny @alaadahmed你们俩现在都可能有两个全局node_modules目录,对吗?
1) /usr/local/lib/node_modules
(使用npm 6.14.8和以前的所有全局模块)
和
2) /usr/local/Cellar/node/15.0.1/lib/node_modules
(使用npm 7.0.5和零个全局模块(尚未))
并调用npm
将使用6.14.8,但在/usr/local/Cellar/node/15.0.1/lib/node_modules
显示模块,对吗?
@ErikAbele是的,我后来发现了。
@ErikAbele是的,我后来发现了。
是的,在OSX上看到的也一样:-(我在Ubuntu 20.04机器上将它们全部排序,但是一旦我尝试在OSX上将npm更新到7.0.5,它就会将我的全局node_modules目录切换到/usr/local/Cellar/node/15.0.1/...
:
Ubuntu 20.04:
erik<strong i="11">@RaspberryPi</strong>:~$ which npm
/usr/bin/npm
erik<strong i="12">@RaspberryPi</strong>:~$ npm --version
7.0.5
erik<strong i="13">@RaspberryPi</strong>:~$ npm list -g
/usr/lib
├── @codefaktor/[email protected] -> /home/erik/repos/codefaktor/qubot
├── [email protected]
├── [email protected]
└── [email protected]
MacOS X:
[erik<strong i="17">@Odin</strong> ~]% which npm 14:26:48
/usr/local/bin/npm
[erik<strong i="18">@Odin</strong> ~]% npm --version 14:32:30
7.0.3
[erik<strong i="19">@Odin</strong> ~]% npm list -g 14:32:36
/usr/local/lib
├── @codefaktor/[email protected] -> /Users/erik/Workzone/Projects/codefaktor.de/qubot
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]
一旦我对后者执行了npm install npm<strong i="22">@7</strong> -g
,我就又把它搞砸了:-/所以,如果有人知道如何解决那一件事,我将感谢您PIA,TIA! ;-)
好的,我做了以下工作,它解决了新建全局包路径的问题:
1- npm config set prefix '/usr/local'
>>这将设置路径对全球已安装的软件包,它会搜索文件夹lib
这个路径内,然后将安装在任何包node_modules
文件夹内lib
..因此,对于macOS,它将在/usr/local/lib/node_modules
>>中找到所有已安装的软件包,但这将与[email protected]
而不是7.0.3
因此您需要检查哪个您拥有的npm版本。
在我将节点升级到15.0.1
它安装了[email protected]
因此我按照步骤__1__所示配置了前缀路径,然后才用npm i npm -g
将npm更新为7.0.5。
现在,当我npm list -g
它将显示以前安装的所有软件包。 npm update -g
可以正常工作。
我认为对于ubuntu,您需要制作npm config set prefix '/usr'
以便它将在该路径中搜索lib
文件夹,并将在node_modules
下的lib
node_modules
内安装任何软件包,因此完整路径为/usr/lib/node_modules
__update__:它仍然不适用于npm @ 7 ..但适用于npm @ 6和node 15.0.1
,并且软件包的路径固定为/usr/local/lib/node_modules
我在node 15.0.1
以下仍然遭受npm@7
node 15.0.1
太好了,这终于成功了-谢谢!
(很奇怪, npm config get prefix
已经有了该路径,但是将其设置为其他时间确实阻止了第二个目录结构的创建。)
@ErikAbele现在确定您拥有哪个版本的npm ?! 如果npm@7
可以赚npm update -g
?!
我安装了[email protected] (随新安装的[email protected]一起提供),然后我添加了前缀,并通过npm install npm<strong i="7">@7</strong> -g
将其更新为[email protected] ,现在我有7.0.5 / usr / local / lib / ...
npm update -g
仍然不起作用,但是npm outdated -g
适用于正确的路径,我可以简单地执行例如npm install eslint<strong i="12">@latest</strong> -g
来在正确的路径上使用最新的npm更新特定的软件包。 这就是我现在需要的(直到将npm修复为上游)...
我猜只要7.0.5没有被标记为最新的(而6.14.8是最新的),我们将不得不忍受...:-/
我回滚到[email protected]
但使用node 15.0.1
,当他们将npm@7
标记为__latest__时,它将对其进行升级。
早上好我也有同样的问题。
如果我执行“ npm upadate -g”,则给我“全局要求添加或rm选项”;如果执行“ npm list -g”,则给我“ [email protected] ”。 如果我降级到npm 6,问题仍然存在。
我的真正问题是,我在全球范围内安装了许多软件包,我不记得全部。 有办法恢复它们吗?
我在macOS Mojave上。
您可以阅读以下内容,它将解决您的问题: https :
Nodejs 15.0.1
npm 7.0.3
使用“ npm set config
列表继续列出更多软件包...
我正在讨论此线程into上的所有问题。 。 。 降级到v6.14.8
直到解决了这些问题
npm 7.0.6已发布,并且同样的问题仍然存在。 ; o(
官方修复程序正在研究中吗? 现在,如果不重新安装全局软件包,便无法更新它们。
v7.0.7仍然会发生这种情况吗?
NPM v7.0.8已发布,并且该错误仍然存在。 请做点什么。
Mac可能的解决方法:
使用n进行安装,然后切换到新的node / npm版本。
https://github.com/tj/n
然后切换回
sudo npm -g update
应该可以
Mac可能的解决方法:
使用n进行安装,然后切换到新的node / npm版本。
https://github.com/tj/n
然后切换回
sudo npm -g update
应该可以
sudo npm --version
的输出是什么?
@felipecrs将取决于使用n安装的版本。
我的:节点为v12.13.1时为npm 6.14.8
Mac可能的解决方法:
使用n进行安装,然后切换到新的node / npm版本。
https://github.com/tj/n
然后切换回
sudo npm -g update
应该可以
sudo npm --version
的输出是什么?
@felipecrs将取决于使用n安装的版本。
我的:节点为v12.13.1时为npm 6.14.8
尝试npm v7.0.8?
尝试npm v7.0.8?
问题仍然存在:-(
今天的自制软件升级又使该问题再次出现
只是为了解决这个问题,无论什么版本的节点(例如15),npm v7都是一个问题。
可以确认此问题仍然存在...我们是否听说过正在解决此问题? 上周刚买了一台新的工作电脑,还没有任何运气:(
@felipecrs等人:是的,是的,这只是npm @ 7的问题–我刚尝试使用最新的7.0.8,但该问题仍然存在。
我已完全删除%USERAPPDATA%中的Node和npm module文件夹。
重新安装了节点(15.0.1)。
将npm升级到7.07。
1)npm过时的-g
给出了许多过时的模块列表
2)npm列表-g --depth = 0
现在,它列出了模块(在仅显示npm之前)
3)npm更新npm -g
(将npm更新为7.0.8)
npm ERR! 全局需要添加或rm选项
结论:
重新安装一切都可以解决问题,但npm错误仍然存在。 我认为这也不可行。
看起来v7.0.9也无法解决该问题。
看起来v7.0.9也无法解决该问题。
该错误已得到确认,并计划在即将发布的版本中进行修复。
感谢您关注这个@isaacs!
好极了! 谢谢@isaacs提供的cc0c6e1 。
非常感谢您解决此问题。 您预计何时用此修复程序发布下一个更新?
最有用的评论
该错误已得到确认,并计划在即将发布的版本中进行修复。