Cli: [バグ] npm update --global failed:npm ERR! グローバルには、追加またはrmオプションが必要です

作成日 2020年10月14日  ·  44コメント  ·  ソース: npm/cli

現在の動作:

$ 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を実行すると、グローバルにインストールされている古いパッケージがすべて更新されていました。

再現する手順:

古いグローバルパッケージをインストールし、すべてのパッケージを更新してみてください。

環境:

  • OS:Ubuntu 20.04.1
  • ノード:12.19.0
  • npm:7.0.0
Bug Release 7.x

最も参考になるコメント

v7.0.9でも問題が修正されるようには見えません。

バグは確認されており、今後のリリースで修正が予定されています。

全てのコメント44件

これが私にも起こることを確認できます...

➜  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 update --global failed:npm ERR! グローバルには、追加またはrmオプションが必要です

グローバルパッケージを更新したいだけの場合も同じエラー:

npm -g update

または

npm -g upgrade

WindowsとDebian10のv7.0.1でそれを見る。

これらは6.xで機能しました

v7.0.2で修正されているようです

7.0.2でも同じ問題が発生します

$ npm -v
7.0.2

$ npm-gアップデート
npm ERR! グローバルには、追加またはrmオプションが必要です

Windows 10x64のnpm7.0.3でも同じ動作を確認できます。 npm @ 6からアップグレードしたばかりで、この驚きがありました。

macOS nodejsv15のnpmv7.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、npmv7.0.3。 nvmを使用します。

同じ。 MacOSでは、Brewを使用します。

brew rm nodebrew 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> -gnpm update -gはエラーを報告しません。 (利用可能なアップデートはもうありませんが、今のところ修正されているようです。)

私は私がいることを@WraithKennyと同じにしましたが、違いがnpm i npm -g指定せずに@^6とそれが6.14.8__ __verデフォルトでインストールされますが、その後するときに、 npm list -g 、何も表示されません。 次にnpmを再インストールしましたが、ver 7 >> npm i npm<strong i="9">@7</strong> -gでエラーは発生しません。 npm list -gすると、グローバルにインストールされたすべてのパッケージが表示され、エラーは発生しなくなりました。

npm 7は「最新」ではないため、npm 7を使用すると、6にダウングレードされるため、 npm install -g npmを使用したくありません。 @7を使用して、滞在を確実にします。 v7で。

ノードをバージョン15.0.1に更新し、同時にnpmをバージョン7.0.5に更新した後、今日Win10でこの問題が発生しました。 デバッグログスタックトレース内のファイルをざっと見ると、ファイルnpmnode_modulesnpmnode_modules @ npmcli \ arboristlib \ 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おそらく、2つのグローバル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を実行するとすぐに、すべてが再び台無しになります:-/だから、誰かがそれを修正する方法を知っているなら、ping、TIAに感謝します! ;-)

OK私は次のことを行い、グローバルパッケージ用に新しく作成されたパスの問題を解決しました。

1 - npm config set prefix '/usr/local' >>これはグローバルインストールされたパッケージのパスを設定し、それは、フォルダを検索しますlibこのパスの内側、その後に任意のパッケージをインストールしますnode_modules内部のフォルダlib ..そうMacOSのためには、内部のすべてのインストール済みパッケージ見つかります/usr/local/lib/node_modules >>が、この意志の仕事を[email protected]ません7.0.3あなたがチェックする必要があるので、どのあなたが持っているnpmのバージョン。
Iは、ノードをアップグレードした後、 15.0.1がインストール[email protected] __1__次いでのみステップに示すように、Iプレフィックスパスを設定して、その後私は7.0.5にNPMを更新npm i npm -g
npm list -gを実行すると、以前にインストールしたすべてのパッケージが表示されます。 また、 npm update -gは正常に機能します。

私はUbuntuのためにあなたが作る必要があると思うnpm config set prefix '/usr' 、それが検索されますので、 libそのパスでフォルダ、および内部のパッケージをインストールしますnode_modulesの下にlibそう完全なパスは/usr/lib/node_modules

__update __: npm @ 7ではまだ機能しませんが、 npm @ 6node 15.0.1し、パッケージへのパスは/usr/local/lib/node_modules固定されています
私はまだnode 15.0.1下でnpm@7苦しんでいます

すばらしい、これでようやくうまくいきました–ありがとう!

(奇妙なことに、 npm config get prefixすでにそのパスがありましたが、別のときに設定すると、2番目のディレクトリ構造の作成が実際に妨げられました。)

@ErikAbele OK、どのバージョンのnpmを使用していますか?! そして、 npm@7場合、 npm update -gを作成できますか?!

[email protected]npm install npm<strong i="7">@7</strong> -g経由で[email protected]更新し

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.1npm@7を__latest__としてマークするとアップグレードされます。

おはようございます。 私は同じ問題を抱えています。

「npmupadate-g」を実行すると、「グローバルにはaddまたはrmオプションが必要です」と表示され、「npm list -g」を実行すると、「 [email protected] 」が表示されます。 npm 6にダウングレードしても、問題は解決しません。

私の本当の問題は、世界中に多くのパッケージがインストールされていて、すべてを覚えていないことです。 それらを回復する方法はありますか?

私はmacOSMojaveを使用しています。

あなたはこれを読むことができ、それはあなたの問題を解決します: https

Nodejs 15.0.1
npm 7.0.3

「npmsetconfig」を使用する"、ユーザープロファイルフォルダーを指しています。正しいモジュールフォルダーを指していますが、古いリクエスト(npm old -g)を実行すると、はるかに古いパッケージが一覧表示されます。

image

そしてリストはもっとたくさんのパッケージのために続きます...

私はこのスレッドのすべての問題に直面しています😞。 。 。 これらの問題が解決されるまで、 v6.14.8ダウングレードします

npm 7.0.6がリリースされましたが、同じ問題が引き続き発生します。 ; o(

公式の修正はまだ行われていますか? 現在、グローバルパッケージを再インストールせずに更新することはできません。

これはv7.0.7でも発生しますか?

NPM v7.0.8がリリースされましたが、バグはまだ存在しています。 何かしてください。

潜在的な回避策、Mac:
nを使用してインストールしてから、新しいノード/ npmバージョンに切り替えます。
https://github.com/tj/n
その後、元に戻して
sudo npm -g updateは機能するはずです

潜在的な回避策、Mac:
nを使用してインストールしてから、新しいノード/ npmバージョンに切り替えます。
https://github.com/tj/n
その後、元に戻して
sudo npm -g updateは機能するはずです

sudo npm --versionの出力は何ですか?

@felipecrsnを使用してインストールされたバージョンによって異なります。
鉱山:ノードがv12.13.1の場合はnpm 6.14.8

潜在的な回避策、Mac:
nを使用してインストールしてから、新しいノード/ npmバージョンに切り替えます。
https://github.com/tj/n
その後、元に戻して
sudo npm -g updateは機能するはずです

sudo npm --versionの出力は何ですか?

@felipecrsnを使用してインストールされたバージョンによって異なります。
鉱山:ノードがv12.13.1の場合はnpm 6.14.8

npm v7.0.8をお試しください?

npm v7.0.8をお試しください?

問題が解決しない:-(

この問題は、今日の自作のアップグレードで再び戻ってきました

これを整理するために、ノードのバージョン(15など)に関係なく、npmv7の問題です。

この問題が解決しないことを確認できますか...修正が行われていると聞いたことがありますか? 先週新しい仕事用コンピュータを手に入れたばかりで、運がなかった:(

@felipecrs et al:はい、その通りです@ 7だけの問題です。最新の7.0.8で試したところ、問題が解決しません。

%USERAPPDATA%のNodeおよびnpmモジュールフォルダーを完全に削除しました。
再インストールされたノード(15.0.1)。
npmを7.07にアップグレードしました。

1)npmが古くなっています-g
古くなっている多くのモジュールのリストを提供します

2)npm list -g --depth = 0
これで、モジュールが一覧表示されます(npmのみが表示される前)

3)npm update npm -g
(npmを7.0.8に更新するため)
npm ERR! グローバルには、追加またはrmオプションが必要です

結論:
すべてを再インストールすると何かが修正されますが、npmエラーが解決しません。 これも実行可能な方法ではないと思います。

v7.0.9でも問題が修正されるようには見えません。

v7.0.9でも問題が修正されるようには見えません。

バグは確認されており、今後のリリースで修正が予定されています。

これを調べてくれてありがとう、@ isaacs!

わーい! cc0c6e1をありがとう@isaacs

これを修正してくれてありがとう。 この修正で次のアップデートがリリースされるのはいつですか?

このページは役に立ちましたか?
0 / 5 - 0 評価