Nvm-windows: npmを曎新できたせんノヌド8.4.0

䜜成日 2017幎09月07日  Â·  127コメント  Â·  ゜ヌス: coreybutler/nvm-windows

これがNVM4Wの䜿甚方法に関する質問である堎合は、代わりにstackoverflowを䜿甚しおください。

これがりむルス察策に関する問題である堎合は、最初に既存の問題を怜玢しおください。

私の環境

  • [] Windows 7以䞋EOLのため、実際にはサポヌトされおいたせん。詳现に぀いおはwikiを参照しおください
  • [ ] りィンドりズ8
  • [] Windows 8.1
  • [x] Windows 10
  • [] Windows 10 IoT Core
  • [] Windows Server 2012
  • [] Windows Server 2012 R2
  • [] Windows Server 2016

  • []私のWindowsむンストヌルは英語以倖です。

NVM4Wバヌゞョンを䜿甚しおいたす

  • [] 1.1.6
  • [x] 1.1.5
  • [] 1.1.4
  • [] 1.1.3
  • [] 1.1.2
  • [] 1.1.1
  • []叀い
  • []その他具䜓的にご蚘入ください

私はすでに...

  • [x] READMEを読んで、npmの萜ずし穎ずりむルス察策の問題に泚意しおください。
  • [] wikiをレビュヌしお、私の問題がただ解決されおいないこずを確認したした。
  • [x]管理者暩限を持぀アカりントを䜿甚しおいるこずを確認したした。
  • [x]は、問題オヌプンおよびクロヌズを怜玢しお、これが重耇しおいないこずを確認したした。
  • []質問やコメントにはgitterが䜿甚されるため、forWindowsの䜿甚方法に関する質問ではないこずを確認したした。

私の問題は関連しおいたす該圓するものだけをチェックしおください

  • [] settings.txt
  • []プロキシサポヌトバヌゞョン1.1.0以降を詊したしたか
  • [] 32ビットたたは64ビットのサポヌトバヌゞョン1.1.3以降を詊したしたか
  • []文字の゚スケヌプバヌゞョン1.1.6以降を詊したしたか
  • [x]暙準のシェル環境タヌミナル/ PowerShell
  • []非暙準のシェル環境Cmder、Hyper、Cygwin、git

予想される行動

npm i -g npm @latestは最新のnpmバヌゞョンをむンストヌルする必芁がありたす

実際の動䜜

゚ラヌ
npm ERR! path C:\Program Files\nodejs\npm.cmd npm ERR! code EEXIST npm ERR! Refusing to delete C:\Program Files\nodejs\npm.cmd: is outside C:\Program Files\nodejs\node_modules\npm and not a link npm ERR! File exists: C:\Program Files\nodejs\npm.cmd npm ERR! Move it away, and try again.

問題を再珟する手順

管理者ずしお実行npm i -g npm@latest

help wanted

最も参考になるコメント

npmファむルずnpm.cmdファむルをnodejsの堎所から削陀し、ディレクトリnode_modules/npmをnodejsの堎所から別の堎所に移動しお、 node npm-cli.js i -g npm@latest内でbin node npm-cli.js i -g npm@latestを実行したす。移動したフォルダのbinディレクトリ。

党おのコメント127件

ここでも同じ問題がありたす。

私は同じ問題を抱えおいたした、そしおこれが私がどのように乗り越えたかです

npm install -g npmを実行し、実行䞭に
c:\Program Files\nodejs\からファむルnpm.cmdずnpmを削陀バックアップしたす
c:\Program Files\nodejs\node_modules\npm\node_modulesから.binフォルダを削陀バックアップするず、成功するはずです
他のnpmモゞュヌルfiles/folders Refusing to delete問題が発生した堎合は、これらを削陀しお曎新プロセスを再開する必芁がありたす。 再起動するには、 npm.cmdをc:\Program Files\nodejs\コピヌしお戻したす。 次に、 npm install -g npmが実行されたら、 npm.cmd削陀したす。そうしないず、 Refusing to delete npm.cmd問題が発生し、 npm install -g npmが満足するたでそのプロセスを繰り返すこずができたす。

ファむルを削陀するには、次のショヌトカットを䜿甚できたす@farnetaniによっお提案されたmv npm.cmd "c:\Program Files\nodejs\node_modules\npm\node_modules"

私の環境
windows 7 x64, node 8.4, nvm 1.1.6

image

同じ問題を芋お

自分自身
りィンドりズ10
ノヌド8.5.0
海抜5.3.0
nvm 1.1.0

@kuncevic
より簡単な解決策は、nodejsの堎所からdir node_modules/npmをコピヌし、npm binずcmdを削陀しお、コピヌしたフォルダヌのbin dir内でnode npm-cli.js i -g npm@latestを実行するこずです。

生産に぀いおはこれだけです。 スクリプトで頑匵っおください。

継続的むンテグレヌションの名前を継続的むンテグレヌションに倉曎する必芁がありたす

@ 19majkel94あなたのメ゜ッドでそれを動䜜させるこずができたせんでした...私がスクリプト化できる他のアむデアはありたすか

npmがそれ自䜓の曎新方法を倉曎したように芋えたす...誰にも蚀わずに。 npxも、倧きな倉曎ではなくマむナヌなバヌゞョン倉曎のみで導入されたした。これは_意味的に_正しいですが、それでも埓うのは困難です。

どうやら、いく぀かのファむルサンドボックスが発生しおいたす。 私は今日の倧郚分を調査しお修正を詊みるこずに費やしたしたが、それぞれの修正は別の問題を衚面化したす。 我慢しおください、私はできるだけ早くそれを修正したす。 珟時点でこれに取り組んでいるのは私だけです...そしお私はたたたた別の補品の発売の真っ最䞭です2幎間の䜜業の埌ので、PRは喜んで受け入れられたす。

手䌝いたいのですが、芳察がありたす...問題は「 C:/Program Files/nodejs 」ぞのショヌトカットに関連しおいるず思いたす。 おそらく、ショヌトカットの代わりにゞャンクションが䜿甚された堎合はどうでしょうか。 Windowsは、「実際の」ディレクトリずゞャンクションの違いを区別できたせん。 したがっお、ノヌドは実際にデフォルトのディレクトリにむンストヌルされおいるように芋えたす。 解決されたディレクトリの倖郚のディレクトリで「動䜜」する必芁はもうありたせん。

https://docs.microsoft.com/en-us/sysinternals/downloads/junction

ずころで、ゞャンクションを䜿甚するず、npmの動䜜に察する将来の倉曎に察しおnvm4wが将来的に蚌明されるはずです。

@ wayne-oscme
READMEを読んだこずがありたすか

2番目のオプションは、シンボリックリンクを䜿甚するこずです。 この抂念では、シンボリックリンクをシステムPATHに配眮しおから、䜿甚するノヌドむンストヌルディレクトリにタヌゲットを曎新する必芁がありたす。 これは単玔なアプロヌチであり、人々が掚奚するもののようです.... Windowsにどれだけの痛みのシンボリックリンクがあるかを理解するたで。 これが以前に起こったこずがない理由です。

シンボリックリンクを䜜成/倉曎するには、管理者ずしお実行しおいる必芁があり、Windows UACその迷惑なプロンプトを回避する必芁がありたす。 幞いなこずに、これは、node-windowsのいく぀かのヘルパヌスクリプトですでに解決した課題です。 その結果、NVM​​ for Windowsは、むンストヌル䞭にのみシステムPATHに配眮される単䞀のシンボリックリンクを維持したす。 異なるバヌゞョンのノヌドに切り替えるには、シンボリックリンクタヌゲットを切り替える必芁がありたす。 その結果、このナヌティリティでは、コン゜ヌルりィンドりを開くたびにnvm usexxxを実行する必芁はありたせん。 nvm use xxxを実行するず、開いおいるすべおのコン゜ヌルりィンドりでアクティブバヌゞョンのノヌドが自動的に曎新されたす。 たた、システムを再起動しおも持続するため、倉曎を加える堎合にのみnvmを䜿甚する必芁がありたす。

@ 19majkel94
ゞャンクションに぀いおお読みください。 'シンボリックリンク'別名りィンドりのショヌトカットには、プロセスからのタヌゲットディレクトリの再解決に問題がありたす。 りィンドりの゚クスプロヌラヌずタヌミナルはそれらをうたく凊理しおいるように芋えたすが、他のプロセスではうたく凊理されおいたせん。 メモ垳を開き、[ファむルを開く]を遞択しお、暙準りィンドりのファむルダむアログを衚瀺したす。 "C:/Program Files/nodejs"移動しお、最終的にどこに到達するかを確認したす。

プロセスが終了するタヌゲットディレクトリぞのリダむレクトであるず、いく぀かの興味深い問題が発生する可胜性がありたす。

ゞャンクションは、* nixのハヌドリンクに盞圓したす。 Windowsはこれらをディレクトリに察しおのみサポヌトし、ファむルに察しおはサポヌトしたせんが、ここで必芁なのはそれだけです。 それらはリダむレクトではありたせん。 これらは、すべおの目的ず目的においお、ディレクトリであり、ディレクトリが最初に䜜成されたずきに䜜成されたパスず同じです。

それらはリダむレクトせず、宛先です。 これらは、「use」コマンドごずに削陀しお再䜜成できたす。 したがっお、ショヌトカットず同じ効果ず機胜がありたすが、珟圚の問題を匕き起こしおいる欠点はありたせん。

これは、ゞャンクション/ハヌドリンク/シンボリックリンクずは䜕の関係もありたせん。 @kuncevicは、npm゚ラヌを匕甚したスクリヌンショットを提䟛したした。重芁な郚分はRefusing to delete ... which is outside of ....です。 これはnpmにハヌドコヌドされたメッセヌゞであり、それ以䞊の操䜜を防ぎたす。 結論npmはそれ自䜓を完党に曎新するこずを拒吊しおいたす。

これはnpm5.xxたで問題にはならなかったようですが、䜕が倉わったのかを理解するために詳现を調べおいたす。 回避策ハックなどを䜜成する必芁があるかもしれたせんが、これは決しお奜きではありたせん。 たた、msiパッケヌゞの利甚も怜蚎しおいたす。これは、npmの人々の泚意を匕く唯䞀の方法のようです。

npmを曎新する必芁がある堎合は、 https://github.com/npm/npm/archive/vX.X.X.zipからダりンロヌドしお、ノヌドむンストヌルルヌトのnode_modulesディレクトリに抜出できたす。 _nodeむンストヌルルヌト_にnpm.cmdずnpx.cmdぞのシンボリックリンクを手動で䜜成する必芁がありたす。 最終的なファむル構造は次のようになりたす。

nvm
- v8.5.0
   - node_modules
       - npm
          - bin
               - npm.cmd
               - npx.cmd
          ...
   - node.exe
   - npm.cmd (symlink to v8.5.0/node_modules/npm/bin/npm.cmd)
   - npx.cmd (symlink to v8.5.0/node_modules/npm/bin/npx.cmd)

さお、私は売る前に詊しおみるべきだず思いたす。 ショヌトカットを
ゞャンクション、そしお同じ正確な問題が発生したした。 そこに䜕かあったず思った。
時間を無駄にしおすみたせん。

9:38の氎、2017幎9月27日には、コヌリヌ・バトラヌ[email protected]
曞きたした

これは、ゞャンクション/ハヌドリンク/シンボリックリンクずは䜕の関係もありたせん。 @kuncevic
https://github.com/kuncevicは、npm゚ラヌを匕甚したスクリヌンショットを提䟛したした。
重芁な郚分は削陀を拒吊するこずです...これは.....の倖にありたす
npmにハヌドコヌドされたメッセヌゞであり、それ以䞊の操䜜を防ぎたす。 結論
npmはそれ自䜓を完党に曎新するこずを拒吊しおいたす。

これはnpm5.xxたで問題にはならなかったようで、私はただ掘っおいたす
䜕が倉わったかを理解するために詳现を通しお。 私は曞く必芁があるかもしれたせん
回避策぀たりハック。これは私が奜きではありたせん。 私も調べおいたす
msiパッケヌゞを利甚する。これが取埗する唯䞀の方法のようです。
npmでの人々の泚意。

npmを曎新する必芁がある堎合は、次の方法でダりンロヌドできたす。
https://github.com/npm/npm/archive/vX.XXzipそしおそれをに抜出したす
ノヌドむンストヌルルヌトのnode_modulesディレクトリ。 あなたがする必芁がありたす
ノヌドむンストヌルルヌトにnpm.cmdぞのシンボリックリンクを手動で䜜成し、
npx.cmd。 最終的なファむル構造は次のようになりたす。

nvm

  • v8.5.0

    • node_modules



      • npm





        • 眮き堎







          • npm.cmd




          • npx.cmd




            ..。










    • node.exe

    • npm.cmdv8.5.0 / node_modules / npm / bin / npm.cmdぞのシンボリックリンク

    • npx.cmdv8.5.0 / node_modules / npm / bin / npx.cmdぞのシンボリックリンク

—
あなたが蚀及されたのであなたはこれを受け取っおいたす。
このメヌルに盎接返信し、GitHubで衚瀺しおください
https://github.com/coreybutler/nvm-windows/issues/300#issuecomment-332523342 、
たたはスレッドをミュヌトしたす
https://github.com/notifications/unsubscribe-auth/AEZgRbY_GVys0bfnD_kaM_PYl6QUmZKDks5smk_PgaJpZM4PPcf-
。

5.4.1 → 5.4.2を問題なく曎新したした。

c:\>npm install npm -g
C:\Program Files\nodejs\npx -> C:\Program Files\nodejs\node_modules\npm\bin\npx-cli.js
C:\Program Files\nodejs\npm -> C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js
+ [email protected]
removed 1 package and updated 2 packages in 12.125s

@ kuncevic-ありがずう...これは、問題がnpm5.4.3 +以内にある必芁があるこずを瀺しおいたす。

npm -g install [email protected]はただ倱敗したすが、同じ゚ラヌが発生したす。
[線集]ずころで、それはnvm install8.5.0でむンストヌルされた5.3.0から始たりたす

11時41分AMで金、2017幎9月29日には、コヌリヌ・バトラヌ[email protected]
曞きたした

@kuncevichttps //github.com/kuncevic-ありがずう...それは
問題はnpm5.4.3 +以内にある必芁がありたす。

—
あなたが蚀及されたのであなたはこれを受け取っおいたす。
このメヌルに盎接返信し、GitHubで衚瀺しおください
https://github.com/coreybutler/nvm-windows/issues/300#issuecomment-333161774 、
たたはスレッドをミュヌトしたす
https://github.com/notifications/unsubscribe-auth/AEZgRQnw_jxuz_dDZl3OsZVO_MNkHlBGks5snQ-qgaJpZM4PPcf-
。

私にずっおは、ノヌド8.4.0以降では倱敗したす。 NPM 5.3.0がむンストヌルされた埌、アップグレヌドできなくなりたす。
叀いバヌゞョンのノヌド私は4.8.4を持っおいたすでは、NPMを正垞に曎新できたす。

おずこ。 npm 5ずnvmは本圓に倧倉な時間ですただし、4は完党に正垞に機胜するため、ここではnpm 5のせいにしたす。 先週npm4.6.1にダりングレヌドし、5.4.2をもう䞀床詊しおみたした。 完党に異なるパッケヌゞであるreact-native-cliをむンストヌルしようずしたずきに、npmがアンむンストヌルされたようです。

Manuel@Manuel-406 /cygdrive/d/htdocs/wallet
$ npm install -g react-native-cli
C:\Program Files\nodejs\npx -> C:\Program Files\nodejs\node_modules\npm\bin\npx-cli.js
npm WARN Error: EPERM: operation not permitted, scandir 'C:\Program Files\nodejs\node_modules\npm\node_modules\libnpx\node_modules\yargs\node_modules\os-locale\node_modules\execa\node_modules\cross-spawn\node_modules\shebang-command\node_modules'
npm WARN  { Error: EPERM: operation not permitted, scandir 'C:\Program Files\nodejs\node_modules\npm\node_modules\libnpx\node_modules\yargs\node_modules\os-locale\node_modules\execa\node_modules\cross-spawn\node_modules\shebang-command\node_modules'
npm WARN   stack: 'Error: EPERM: operation not permitted, scandir \'C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\libnpx\\node_modules\\yargs\\node_modules\\os-locale\\node_modules\\execa\\node_modules\\cross-spawn\\node_modules\\shebang-command\\node_modules\'',
npm WARN   errno: -4048,
npm WARN   code: 'EPERM',
npm WARN   syscall: 'scandir',
npm WARN   path: 'C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\libnpx\\node_modules\\yargs\\node_modules\\os-locale\\node_modules\\execa\\node_modules\\cross-spawn\\node_modules\\shebang-command\\node_modules' }
npm ERR! path C:\Program Files\nodejs\npm
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall open
npm ERR! Error: EPERM: operation not permitted, open 'C:\Program Files\nodejs\npm'
npm ERR!  { Error: EPERM: operation not permitted, open 'C:\Program Files\nodejs\npm'
npm ERR!   cause:
npm ERR!    { Error: EPERM: operation not permitted, open 'C:\Program Files\nodejs\npm'
npm ERR!      errno: -4048,
npm ERR!      code: 'EPERM',
npm ERR!      syscall: 'open',
npm ERR!      path: 'C:\\Program Files\\nodejs\\npm' },
npm ERR!   stack: 'Error: EPERM: operation not permitted, open \'C:\\Program Files\\nodejs\\npm\'',
npm ERR!   errno: -4048,
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'open',
npm ERR!   path: 'C:\\Program Files\\nodejs\\npm',
npm ERR!   parent: 'v8.5.0' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Manuel\AppData\Roaming\npm-cache\_logs\2017-10-02T14_54_04_833Z-debug.log

Manuel@Manuel-406 /cygdrive/d/htdocs/_git/wallet
$ npm install -g react-native-cli
sh: npm: Kommando nicht gefunden.
  • ubuntu  16.04.2 LTS
  • nodejs  8.6.0
  • npm  5.3.0
npm i -g npm<strong i="15">@latest</strong>

/home/user/.npm-global/bin/npm -> /home/user/.npm-global/lib/node_modules/npm/bin/npm-cli.js
/home/user/.npm-global/bin/npx -> /home/user/.npm-global/lib/node_modules/npm/bin/npx-cli.js
+ [email protected]
added 68 packages, removed 164 packages and updated 14 packages in 14.307s

npm -vただ5.3.0 、曎新されたせんか

@ yavorski-これはWindows甚のnvmです。 * nixにはnvmが必芁だず思いたす。

この問題がnpm5.xx内のサンドボックス化であるこずを確認したした。npmの以前の゚ディションにはこれがありたせんでした。 残念ながら、修正は簡単ではなく、 @ yavorskiの経隓から刀断するず、このプロゞェクトに固有のものではありたせん。

はい、私の堎合はnvmはありたせん。 nodesourceからのLinux + Nodejs。

ここで同じ問題がありたす...

npmバヌゞョン5.4.2
ノヌドバヌゞョン8.7.0
りィンドり10

私は同じ問題を抱えおいたす。

りィンドりズ10
mv npm.cmd "c:\Program Files\nodejs\node_modules\npm\"

以降

npm i -g npm@latest

私に解決したした

Nodev8.9.0でも同様の動䜜がありたす。 npm 5.5.1が付属しおおり、npm 4にダりングレヌドしようずするず、 refusing to delete゚ラヌが発生したす。

公匏のzipファむルからnpmをプルしお、これを手動で修正しようずしたしたが、次の゚ラヌが発生したした。
image

この゚ラヌはサむレントに発生し、むンストヌルが砎損しおいるず思われたす。 C:\nvmにむンストヌルするず、この゚ラヌは発生せず、すべおが期埅どおりに機胜したす。

@RichardMisiak nvmむンストヌルをC:\近いパスに移動しおみたしたか C:\nvm  それは私にずっお問題を解決したした。

デフォルトで最新のnpm 5.5.1 9.1をもたらす最新のノヌドhttps://github.com/npm/npm/issues/19019があり、次のnpmで蚀うリリヌスは修正される可胜性がありたす。

私の゜リュヌションはあたり゚レガントではありたせんが、機胜したす。 ここにありたす。
npm install [email protected] -gを実行した埌、次の゚ラヌが発生したした。

npm ERR! path d:\node\npm.cmd
npm ERR! code EEXIST
npm ERR! Refusing to delete d:\node\npm.cmd: is outside d:\node\node_modules\npm and not a link
npm ERR! File exists: d:\node\npm.cmd
npm ERR! Move it away, and try again.
...

私の回避策は次のずおりです。

  1. npm install -g yarn
  2. コンピュヌタヌを再起動したす
  3. yarn global bin実行し、衚瀺されるフォルダヌをWindowsのPATH環境倉数に远加したす。
  4. npm.cmdが配眮されおいるフォルダヌに移動し npm install [email protected] -g実行で発生した゚ラヌからこれを確認したす私の堎合はd:\node\ 、次のようにしたす。
    2.1。 npm名前をnpm.original たたは単に削陀したす
    2.1。 npm.cmd名前をnpm.cmd.original たたは単に削陀したす
  5. タヌミナルを閉じお、新しいタヌミナルを開きたす
  6. yarn global add [email protected]
  7. npm install [email protected] -g これにより、 yarn global binフォルダヌにあるnpmバヌゞョンを䜿甚しおnpmがむンストヌルされたす
  8. yarn global remove npm yarnによっおむンストヌルされたnpmバヌゞョンを削陀し、npm自䜓によっおむンストヌルされたバヌゞョンのみを保持するため

アップグレヌドする前に、バッチの名前を倉曎するだけです。
cmdを実行したす

cd %ProgramFiles%\nodejs
ren npm.cmd npm2.cmd
ren npm npm2 
npm2 install npm<strong i="7">@latest</strong> -g

アップグレヌド埌にファむルを削陀したす。

del npm2
del npm2.cmd

@ rolf-schmidiger私の経隓では、npmずnpm.cmdを䜿甚する堎合ず同じように、npxずnpx.cmdを䜿甚しお名前を倉曎する必芁がありたした。

おいしくシンプルで効果的な、@ rolf-schmidiger。 ありがずうございたした。

@coreybutler 、解決策に぀いお䜕かアむデアはありたすか ちょっず興味があるんだけど。 プレッシャヌはない。

ここにリストされおいる解決策はどれも私にはうたくいきたせんでした。結局、 nvmw uninstallを䜿甚しおノヌドのむンストヌルを削陀し、次にnvmw installを䜿甚しお再むンストヌルする方が迅速

nvmwは完党に異なるツヌルではありたせんか

@thegreatcoおっず あなたが正しい。 ただし、䞡方で同じ問題が発生するのは興味深いこずです。

@ rolf-schmidigerの回答に基づいお、その曎新スクリプトを䜜成したした...ちょっず、これが私がそれを機胜させる唯䞀の方法だずは思いたせん。

#!/usr/bin/bash

cd "$PROGRAMFILES"/nodejs
mv npm.cmd npm2.cmd
mv npm npm2
npm2 install -g npm<strong i="6">@latest</strong>
rm npm2
rm npm2.cmd

曎新

これは私のために働いおいる最新のものです。

#!/usr/bin/bash

cd "$PROGRAMFILES"/nodejs
rm npm npx npm.cmd npx.cmd
mv node_modules/npm node_modules/npm2
node node_modules/npm2/bin/npm-cli.js i -g npm<strong i="12">@latest</strong>
rm -rf node_modules/npm2/

初めおすべおをむンストヌルしたので、䞊蚘の提案はどれも圓おはたらないようです。 npx create-react-appを実行しようずするず、これが発生し続けたす

npx : The term 'npx' is not recognized as the name of a cmdlet, function, script file, or operable program. Check
the spelling of the name, or if a path was included, verify that the path is correct and try again.

Windows 10 Pro、ビルド1703、開発者モヌドを有効にしお玄2週間前に新芏再むンストヌル
ノヌドバヌゞョン9.4.0
npm 5.6.0

むンストヌル手順は少し混乱したしたダりンロヌドするファむルが耇数ありたすが、そのむンストヌルされおいないファむルは䜕のためにありたすかが、最終的にnvm 'をオンにしおから' use 'コマンドを発行する必芁があるこずがわかりたした混乱しおいたす別のパッケヌゞマネヌゞャヌを䜿甚しおいないので、その郚分は圓おはたらないず思いたしたが、それでも䞊蚘の゚ラヌが発生したす。

私は可胜な限りのこずを詊みたした。 nvmをアンむンストヌルしお別のバヌゞョンをむンストヌルし、環境パスを確認したしたが、アむデアが䞍足したした。 私は぀いにnpm install -g npxを実行したしたが、それは機胜しおいるようです。 ねじ蟌め。

npmファむルずnpm.cmdファむルをnodejsの堎所から削陀し、ディレクトリnode_modules/npmをnodejsの堎所から別の堎所に移動しお、 node npm-cli.js i -g npm@latest内でbin node npm-cli.js i -g npm@latestを実行したす。移動したフォルダのbinディレクトリ。

ノヌド9.8.0にNPM 5.5.1ず私のノヌド8.8.0をアップグレヌドしようずしたずき、私は同じ問題窓10環境を埗たが、ノヌド9.8.0のむンストヌルが5.5.1から最新たでの私のNPMを曎新したせん。 その埌、 npm i -g npmを実行しようずするず、゚ラヌが発生したす。

C:\Repository\myproject>npm i -g npm
npm WARN npm npm does not support Node.js v9.8.0
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8.
npm WARN npm You can find the latest version at https://nodejs.org/
WARNING: You are likely using a version of node-tar or npm that is incompatible with this version of Node.js.
Please use either the version of npm that is bundled with Node.js, or a version of npm (> 5.5.1 or < 5.4.0) or node-tar (> 4.0.1) that is compatible with Node.js 9 and above.
npm[19860]: src\node_zlib.cc:436: Assertion `args.Length() == 7 && "init(windowBits, level, memLevel, strategy, writeResult, writeCallback," " dictionary)"' failed.
 1: node::DecodeWrite
 2: node::DecodeWrite
 3: uv_loop_size
 4: v8::internal::wasm::SignatureMap::Find
 5: v8::internal::Builtins::CallableFor
 6: v8::internal::Builtins::CallableFor
 7: v8::internal::Builtins::CallableFor
 8: 000003BEBC8843C1

@arfaWongの゜リュヌションは私にずっお完璧に機胜したした@ rolf-schmidigerの゜リュヌションず少し混ぜお、移動する代わりに名前を倉曎したした

非垞に簡単です。Windowsを䜿甚しおいる堎合は、 https//github.com/felixrieseberg/npm-windows-upgradeを確認しお
手動で実行する堎合は、ドキュメントhttps://github.com/npm/npm/wiki/Troubleshooting#upgrading-on-windowsを確認しお

私はPowerShellスクリプトをたずめお、 @ arfaWongの゜リュヌションを自動化したした https  //gist.github.com/noahleigh/ba34e18b3e0bc4a6a4e93ed7a480536e

PowerShell Core6.0でテスト枈み

@rvkmarいいえ、運がありたせんhttps://github.com/felixrieseberg/npm-windows-upgrade/issues/124

ず同じ問題

node-v8.6.0-win-x64
node-v9.9.0-win-x64

たた、ファむルの名前を倉曎したり移動したりするず、フォルダを䜜成できずに倱敗したす。管理者ずしお再実行しおください。 私はこのマシンの管理者暩限を持っおいないずいう事実から、珟圚のナヌザヌはそのフォルダヌでmkdir暩限を持っおいるので、これが䜕かを倉曎するかどうかは疑わしいです...

それはい぀修正されたすか

@arfaWongロックス!!

cmder 、 nvm 1.1.6、ノヌド8.10.0を䜿甚したした
npm 5.6.0から5.8.0に曎新tada

cd %programfiles%/nodejs
rm npm npm.cmd
mv node_modules/npm node_modules/npm2
node node_modules\npm2\bin\npm-cli.js i npm<strong i="17">@latest</strong> -g
rm -rf npm2

あなたの解決策をありがずう@ayvarot
nvm1.1.15ずノヌド9.8.0を䜿甚したした
5.6.0から5.8.0に曎新されたした。

@ayvarotによる解決策は郚分的に私のために働いた。 おそらく、ConEmuを䜿甚しおmsys git bashで実行しおいたずいう事実が原因ですか ずにかく、これは私の調敎されたスニペットです

which npm && \
    cd "`which npm | xargs -0 dirname`" && \
    mv npm npm2 && \
    mv npm.cmd npm2.cmd && \
    mv ./node_modules/npm ./node_modules/npm2 && \
    node node_modules/npm2/bin/npm-cli.js i npm<strong i="7">@latest</strong> -g && \
    rm -r npm2 npm2.cmd ./node_modules/npm2

npm -v

ノヌド8.10.0x32でnvm 1.1.6を䜿甚し、npm 5.6.0から5.8.0に曎新したす

@arfaWongそれは
npmチヌムがそれを修正するのを埅ちたす...
。
npm5.6.0でこれに盎面したした

@ayvarotのプレヌンなWindowsDOSバヌゞョン

pushd %ProgramFiles%\nodejs
del npm npm.cmd
move node_modules\npm node_modules\npm2
node node_modules\npm2\bin\npm-cli.js i npm<strong i="8">@latest</strong> -g
rd node_modules\npm2 /S /Q
popd

@arfaWong゜リュヌションは魅力のように機胜したした、ありがずう

りィンドりズ10
cdnodejsフォルダヌ
ren npm.cmd npm2.cmd
デルnpm
デルnpx

npm2 install npm -g

del npm2.cmd

npmずnpxbtwの名前を倉曎し、埌で削陀したしたが、すぐに削陀できるず思いたす。

これは、nvmを䜿甚したNodejsバヌゞョン10.0.0のむンストヌルによっおトリガヌされたようです。

@arfaWongみんながうたくいった唯䞀の解決策。 これを詊しおみおください。

@ rolf-schmidigerは私のために働いた ありがずうございたした

すでにむンストヌルしおいるYarnを䜿っおこれを回避したした。

nvm use 10.0.0

# Have npm remove itself
npm uninstall -g npm

# Install npm into the yarn directory structure
yarn global add npm

# Use npm to install itself into the nodejs directory structure
npm install -g npm

# Remove the yarn installation of npm
yarn global remove npm

これは私のために働いた

nvm use <some_other_version>
cd .../nvm/<version_to_update>
npm un npm
npm i npm<strong i="6">@latest</strong>

npm it selfの代わりにyarnを䜿甚し、 yarn global add npm@latestを詊しおください。これが倱敗した堎合は、yarnをアップグレヌドしおみおください。

npm install npm<strong i="6">@latest</strong> --globalを䜿甚しおnpmを曎新しようずするず、削陀の

npm-windows-upgradeパッケヌゞも曎新できたせんでした。これは、解凍の新芏むンストヌルであるにもかかわらず、Node.jsを再むンストヌルするこずを提案しおいたす。

以前に提案したように、次のPowerShellスクリプトを䜿甚しお、npmファむルずnpxファむルを移動するこずでアップグレヌドできたした。

# Locate the Node.js installation
# containing the npm and npx files that are preventing the upgrade
Get-Command node.exe | % { Split-Path $_.Source } | cd

$CurrentNpmVersion = npm --version

# Version the current npm scripts to make room for the new version:
"npm", "npm.cmd", "npx", "npx.cmd" | %{ Get-ChildItem -Filter $_ } |
  Rename-Item -NewName { "$($_.BaseName)-$CurrentNpmVersion$($_.Extension)" }

# Use the current npm command to install the new version:
Invoke-Expression "npm-$($CurrentNpmVersion).cmd install npm<strong i="11">@latest</strong> --global"

こんにちは@awarbergスクリプトを詊したしたが、この゚ラヌが発生したす。 私も毛糞で詊したしたが、運が悪かった...愚かなりィンドりズ 💢

.\update_node.ps1
npm ERR! path C:\Program Files\nodejs\node_modules\npm\node_modules\worker-farm\node_modules\.bin\errno
npm ERR! code EEXIST
npm ERR! Refusing to delete C:\Program Files\nodejs\node_modules\npm\node_modules\worker-farm\node_modules\.bin\errno: is outside C:\Program Files\nodejs\node_modules\npm\node_modules\worker-farm\node_modules\errno and not a link
npm ERR! File exists: C:\Program Files\nodejs\node_modules\npm\node_modules\worker-farm\node_modules\.bin\errno
npm ERR! Move it away, and try again.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\vitom\AppData\Roaming\npm-cache\_logs\2018-05-11T12_55_55_902Z-debug.log

@lamuertepeludaただアップグレヌドできないずのこずで、ごめんなさい。 ...\node_modules\.bin\errnoに蚀及されたファむルは以前に蚀及されおいたせんでした。 耇数のアップグレヌドが詊行されたため、むンストヌルが砎損しおいる可胜性がありたす。 npm-windows-upgradeが瀺唆しおいるように、再むンストヌルするのに良い時期かもしれたせん。

「バカなりィンドりズ」に぀いおは同意したせん。 おそらく、NPMは最初にLinux甚に蚭蚈され、Windowsのサポヌトは埌で考えられたように远加されたした。 これは他のNPMパッケヌゞでも定期的に芋られたす。 䞀般的な問題はむンストヌルの難しさであり、゜フトりェアの前提条件を確実にするために手動および文曞化されおいない手順が必芁です。 もう1぀の䞀般的な問題は、倧文字ず小文字を区別するファむルシステムのパスです。

興味があれば、 @ arfaWongの゜リュヌションを自動実行するバッチスクリプトを䜜成したした。

<strong i="7">@echo</strong> off
SETLOCAL EnableDelayedExpansion

if [%1] == [] (
    echo Pass in the version you would like to install, or "latest" to install the latest npm version.
) else (
    set wanted_version=%1

    if "!wanted_version!" == "latest" (
        for /f %%i in ('npm show npm version') do set wanted_version=%%i
    )

    for /f %%i in ('npm -g -v') do set cur_version=%%i

    if "!cur_version!" == "!wanted_version!" (
        echo Already on npm version !wanted_version!.
    ) else (
        echo Updating to !wanted_version!...

        set node_path=!PROGRAMFILES!\nodejs

        rename "!node_path!\npm" npm2
        rename "!node_path!\npm.cmd" npm2.cmd
        rename "!node_path!\node_modules\npm" npm2
        node "!node_path!\node_modules\npm2\bin\npm-cli.js" i npm@!wanted_version! -g

        for /f %%i in ('npm -g -v') do set new_version=%%i

        echo New version installed is !new_version!

        if "!new_version!" == "!wanted_version!" (
            echo Successfully updated to !wanted_version!. Cleaning up backups...
            del "!node_path!\npm2"
            del "!node_path!\npm2.cmd"
            <strong i="8">@RD</strong> /S /Q "!node_path!\node_modules\npm2"
            echo Update complete.
        ) else (
            echo Something went wrong. Rolling back.
            if exist "!node_path!\npm" (
                del "!node_path!\npm"
            )
            if exist "!node_path!\npm.cmd" (
                del "!node_path!\npm.cmd"
            )
            if exist "!node_path!\node_modules\npm" (
                <strong i="9">@RD</strong> /S /Q "!node_path!\node_modules\npm"
            )
            rename "!node_path!\npm2" npm
            rename "!node_path!\npm2.cmd" npm.cmd
            rename "!node_path!\node_modules\npm2" npm
        )
    )
)

@kufiiのbatスクリプトから芁点を䜜成したした。 垞にlastetをむンストヌルする代わりに、むンストヌルするバヌゞョンを指定できるように少し倉曎されたした。

https://gist.github.com/johnmcase/d31b799b9030327091a0e74880e4c530

-線集䞊蚘の@kufiiの曎新されたスクリプトを反映するように曎新されたした

@johnmcase良いアむデアです。コメントを曎新しお、むンストヌルするバヌゞョンを匕数ずしお枡すこずができるようにしたしたたたは、「最新」で最新バヌゞョンを取埗したす。

@kufiiの曎新されたバヌゞョンは、スクリプトに目的の番号をハヌドコヌドするよりもうたく機胜したす。

@kufii @arfaWong

ありがずうございたした
notworthy

@johnmcase Workedは、ブックマヌクを付けおチャヌムが奜きでした。

このスクリプトで䞀぀だけ問題が芋぀かりたした私はむンストヌルするこずを遞択したずきに5.6それが正垞にむンストヌル5.6.0ず「5.6.0」から「5.6」が異なっおバックをロヌルされお...
スクリプトをありがずう

最近、nvmバヌゞョン1.1.7でも同じ問題が発生したした
@arfaWongず@ayvarotの゜リュヌションは前回機胜したした。 しかし、今回はIdkwnpmフォルダヌが芋぀かりたせんでした。 したがっお、䞇が䞀の堎合に備えお、npm2フォルダヌを削陀しないこずをお勧めしたす。

この問題によっお匕き起こされた゚ラヌのデバッグに2日近く費やし、NPMを5.6.0から6.1.0にアップグレヌドするためにほがすべおの修正を詊みたした。 @arfaWongの修正は、それ以䞊の問題なしに機胜したした。 ありがずうございたした

@arfaWong Works !!

私はそれを糞の方法で詊したしたが、これもうたくいくはずです

  1. https://github.com/npm/cli/releasesからnpmを取埗し
  2. binフォルダヌから抜出したディレクトリから次のコマンドを実行したす

    • node npm-cli.js i -g npm@latest

    • ファむルを削陀する必芁があるず文句を蚀うかもしれたせん。私にずっおは、ドラむブのルヌトディレクトリにnvmずnodejsがあったため、暙準のプログラムファむルの堎所は適甚できたせん。 nodejsフォルダヌからnpm / npx / node_modulesを削陀したしたパッケヌゞを再ダりンロヌドするこずを恐れず、ずにかく新しいむンストヌルで䜜業しおいたす。

  3. 正しくむンストヌルされ、抜出したフォルダを削陀しお利益を埗るこずができるはずです

私が曞いたこのstackoverflowずかなり䌌おいたす。
https://stackoverflow.com/questions/49748307/how-to-reinstall-npm

@ayvarotどうもありがずう!!!!!!!! あなたのアドバむスはWindows10で私のために働きたす。

%Node%\npm.cmd 、 %Node%\npm 、 %Node%\npx.cmd名前を倉曎するだけでたせんでした。

@peternannが提案したここでの解決策も機胜したす。
https://github.com/coreybutler/nvm-windows/issues/389

䜕らかの理由で、䞊蚘のスクリプトが機胜しおいなかったため、これを解決するのに疲れすぎお理由を芋぀けるこずができたせんでした。

このばかげたバグはただ残っおいるので、私はその仕事をするスクリプトを䜜りたした。 npm.cmdが存圚するNodeフォルダヌ内に配眮する必芁がありたす。

:: Update NPM with workaround of "npm ERR! code EEXIST" bug https://github.com/coreybutler/nvm-windows/issues/300

<strong i="7">@ECHO</strong> OFF

SETLOCAL

SET CDir=%~dp0%

REN "%CDir%\npm.cmd" "npm1.cmd"
DEL "%CDir%\npm"
DEL "%CDir%\npx.cmd"
DEL "%CDir%\npx"

CALL "%CDir%\npm1.cmd" update && DEL "%CDir%\npm1.cmd"

これをnpmup.cmdずしお保存し、 npm update代わりに䜿甚したす

@kufiiのスクリプトを䜿甚する堎合
私のようにnode.jsのパスを倉曎した堎合は、むンストヌル堎所を眮き換える必芁があるこずに泚意しおください。コヌドset node_path=!PROGRAMFILES!\nodejsをset node_path=YOUR_NODE_PATH眮き換えるだけです。

パスにダヌンビンを远加しない限り、 ゜リュヌションは最新のダヌンでは機胜したせん。

  1. ビンpathをyarn global bin取埗したす
  2. ダヌンビンpathをpath倉数に貌り付けたす

幎に䞀床、私は興奮しお、「今回はうたくいく」ず考えおWindowsにNVMをむンストヌルするこずにしたしたが、垞に䜕かが壊れおいたす...たあ、それはNode.jsクラシックむンストヌラヌに戻っおいるず思いたす。 私はWSLを䜿甚したすが、残念ながら、䞀郚のElectronアプリでは、ホストOSにNodeをむンストヌルする必芁がありたす。

これはNVMだけでは本圓に修正できないのでしょうか
私がさたざたなスレッドで読んだ限り、それはnpmたたはNodeの問題でもありたすが、NVMだけでそれに぀いおできるこずはありたせんか そうしないず、この問題により、WindowsでNVMが䜿甚できなくなりたす。
曎新プロセスの途䞭で自分でファむルを削陀したり、そのためのスクリプトを䜜成したり、䞀郚の人が蚀及した回避策を䜜成したりする必芁があるのは、解決策ではありたせん。 地獄だ
私が詊した唯䞀のこずこれではなく、別のスレッドで、yarnを䜿甚しおnpmを远加する方法に関するいく぀かの手順に蚀及しおいるコメントは機胜したせんでした。

@MrCroftは、「
私はこのプロゞェクトを2幎ほど利甚しおきたした。
この問題は、グロヌバルnpm自䜓を曎新する堎合にのみ発生したす。 nvmを介しお新しいノヌドバヌゞョンをむンストヌルしおも問題はなく、新しいノヌドには新しいnpmパッケヌゞが付属しおいたす。
開発環境でnpmを頻繁にアップグレヌドしおいるために人生が地獄になっおいるこずに気付いた堎合は、おそらく䜕か問題がありたす。
私がnvmナヌザヌになっおから、実際にnpm自䜓をアップグレヌドしお、この問題にぶ぀かる必芁があったのは2回だけだず思いたす。 あなたがそれを鳎らすほど悪くはありたせん。

nvmでnpmをアップグレヌドするためのスクリプトは次のずおりです。

https://stackoverflow.com/a/50955293/491553

新芏むンストヌルで実行したした。 よく働く。

たぶん誰かが管理者の暩利なしでnpmアップデヌタヌをテストする必芁がありたす...

これは、 nvmよりも以前のnpmバヌゞョンのバグの方が倚いず思いたす。

ただし、 nvm/[node version]フォルダヌ私にずっおはv10.15.3 のnpm deleteを曎新

C:\Users\[user name]\AppData\Roaming\nvm\[node version]\npm
C:\Users\[user name]\AppData\Roaming\nvm\[node version]\npm.cmd
C:\Users\[user name]\AppData\Roaming\nvm\[node version]\npx
C:\Users\[user name]\AppData\Roaming\nvm\[node version]\npx.cmd

npmフォルダヌの名前をnpm2に倉曎したす

C:\Users\[user name]\AppData\Roaming\nvm\[node version]\node_modules\npm2

管理者暩限で任意のコン゜ヌルを開きたたは、 Visual Studio Codeを右クリックしお[管理者ずしお実行]をクリックするよりも、vscodeショヌトカットを右クリックしお、コマンドを入力したす。

cd C:\Users\[user name]\AppData\Roaming\nvm\[node version]\node_modules\npm2\bin
node npm-cli.js i -g npm<strong i="22">@latest</strong>

曎新@ Fr0sT-Brutalが指摘したように、競合を匕き起こしたファむルを削陀したばかりなので、この時点では管理者暩限は必芁ありたせん👍

完了。

C:\Users\[user name]\AppData\Roaming\nvm\[node version]\node_modules\npm2フォルダヌを削陀したす。

これは、 @ 19majkel94が䞊で蚀ったこずを段階的に再珟するだけです

@createdbyjurand管理者暩限なし...
䞀連のファむルを別の䞀連のファむルに眮き換えるために管理者暩限は必芁ありたせん...
ファむル/ディレクトリぞの曞き蟌みアクセス暩がある限り

@createdbyjurand管理者暩限なし...
䞀連のファむルを別の䞀連のファむルに眮き換えるために管理者暩限は必芁ありたせん...
ファむル/ディレクトリぞの曞き蟌みアクセス暩がある限り

知っおいる。 ただし、Windows10のProgramFilesフォルダヌには特定の暩限アクセス暩がありたす。 そのため、最近倚くのアプリがロヌミングフォルダたたはロヌカルフォルダにむンストヌルされおいたす。 Visual StudioCodeでさえ2぀の別々のむンストヌルがありたす。 1぀はロヌカル甚、もう1぀はプログラムファむル甚です。 これを回避する1぀の方法は、nvmnodejsフォルダヌの堎所を倉曎するこずです。 次に、フォルダのセキュリティオプションを倉曎したすが、このフォルダは安党ではなくなりたす。 私が曞いたもの、 @ 19majkel94が曞いたものは、システムや構成をどんどん倉曎せずに問題を修正したい人のために、デフォルト蚭定で暙準のnvm installを䜿甚しお、npmupdateをそのたた修正する゜リュヌションです。 フォルダたたはアクセス暩を倉曎した堎合でも、リストしたすべおの手順を実行する必芁があり、倉曎は管理者暩限なしでコン゜ヌルを䜿甚するこずだけになるためです。

@createdbyjurand たせん。 npm-updateたたはその䞭のスクリプトに管理者暩限が必芁な堎合、それはdev-environmentを砎壊し、ノヌドパッケヌゞをむンストヌルできず、䜜業できなくなりたす。

@createdbyjurand䜕のために管理者暩限が必芁ですか

@createdbyjurand䜕のために管理者暩限が必芁ですか

良い点ですが、競合を匕き起こしおいたファむルを削陀したばかりなので、そうではありたせん👍

ああなるほど。 NPMがPFにむンストヌルされおいるずは想像もしおいたせんでした。私にずっおはかなり奇劙です。 私はそれをする人が圌らのトラブルの理由だず思いたす:)。

ああなるほど。 NPMがPFにむンストヌルされおいるずは想像もしおいたせんでした。私にずっおはかなり奇劙です。 私はそれをする人が圌らのトラブルの理由だず思いたす:)。

最近はい。 Microsoftは、 ProgramFilesフォルダヌのアクセス暩を倉曎したした。 そのため、倚くの゜フトりェアがロヌミングたたはロヌカルフォルダのむンストヌルディレクトリに移行しおいたす。 そしおこれが、それほど昔にはすべおがnpmで正垞に機胜しおいた理由ですが、今では突然これが発生したす。

$ npm i -g npm<strong i="11">@latest</strong>
C:\Program Files\nodejs\npx -> C:\Program Files\nodejs\node_modules\npm\bin\npx-cli.js
npm ERR! path C:\Program Files\nodejs\npm
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall open
npm ERR! Error: EPERM: operation not permitted, open 'C:\Program Files\nodejs\npm'
npm ERR!  { [Error: EPERM: operation not permitted, open 'C:\Program Files\nodejs\npm']
npm ERR!   cause:
npm ERR!    { Error: EPERM: operation not permitted, open 'C:\Program Files\nodejs\npm'
npm ERR!      errno: -4048,
npm ERR!      code: 'EPERM',
npm ERR!      syscall: 'open',
npm ERR!      path: 'C:\\Program Files\\nodejs\\npm' },
npm ERR!   stack:
npm ERR!    'Error: EPERM: operation not permitted, open \'C:\\Program Files\\nodejs\\npm\'',
npm ERR!   errno: -4048,
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'open',
npm ERR!   path: 'C:\\Program Files\\nodejs\\npm' }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It's possible that the file was already in use (by a text editor or antivirus),
npm ERR! or that you lack permissions to access it.
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator (though this is not recommended).

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\fehTH4RTH\AppData\Roaming\npm-cache\_logs\2019-03-22T14_28_26_153Z-debug.log

ああなるほど。 NPMがPFにむンストヌルされおいるずは想像もしおいたせんでした。私にずっおはかなり奇劙です。 私はそれをする人が圌らのトラブルの理由だず思いたす:)

@ Fr0sT-残忍なこずですが、組織化のために、私もそうしおいたす。 アプリケヌション甚に指定されたシステムフォルダProgram Filesがすでにある堎合は、䜕かをむンストヌルするたびに、「ProgramFiles」フォルダにむンストヌルしたす。 特に、ドラむブのルヌトフォルダを「nodejs」や「nvm」などのランダムなフォルダで汚染したり、「c/ Users / My Name / Roaming / ApplicationData / whatever」などの長いパスにアクセスしたりしないように、私は「c」を奜みたす。 / Program Files / whatever」。
それにもかかわらず、そのように動䜜するこずは本圓に私を悩たせたでしょうがプログラムファむルの倖の堎所にnvm | nodeを持っおいたす、それでも...私は少なくずも詊したした、そしお私はそれをc/ nvmにむンストヌルしたしたノヌドバヌゞョンでは、c/ nodeずnvmのサブフォルダヌの䞡方を詊したしたc/ nvm / nodeそのようなもの。 しかし、問題は解決せず、 npm i -g npm実行しおもnpmを曎新できたせん

最近@createdbyjurand  IIRC、PFは、XP以降、ナヌザヌの曞き蟌み制限になりたした。
@MrCroft私はい぀も人々がPFの䞭にすべおのものを埋めお生きるこずができるのだろうかず思っおいたした...パス内のスペヌスは匕甚が垞に必芁であるこずを意味し、x64-PFずx32-PFの狂気は怜玢のための1぀の反埩を远加したすそしお-最もむラむラする-完党にフラットな゜フトりェア構造。 自宅のPCでも100を超えるアプリがあり、職堎ではさらに50のアプリがありたす。 PF内のアプリを怜玢する必芁がある堎合は、りィンドりから飛び出したす。

あなたはそれを入れる必芁はありたせん
C:/Users/My Name/Roaming/Whatever
ナヌザヌが曞き蟌み可胜である限り、任意のディレクトリを䜿甚できたす。

私はDProgramsにすべおのプログラムを持っおいたすが、nodejs、python、cmake、JetBrains、go、OpenOfficeなどの管理者暩限は必芁ありたせん。

次に、それらすべおをcurrent_userのパス環境倉数ずレゞストリに配眮したす。
チャヌムのように機胜したす。
安っぜいブラックボックスむンストヌラヌは必芁ありたせん。

䜕かを芋぀ける必芁がある堎合は、locate32を䜿甚し、フォルダヌ/デスクトップ/スタヌトメニュヌも参照したせん。
Locate32ははるかに高速です。
たたは、HKCUのレゞストリで゚むリアスを蚭定できるため、CTRL + Rで実行したす。

C:\ProgramFiles䜕かがある唯䞀の理由は、マシン䞊のすべおのナヌザヌに特定のアプリケヌションをむンストヌルする堎合です。システム党䜓のパス/レゞストリにプログラムがあるため、ほずんどの堎合、開発者は必芁ありたせん。他のナヌザヌのプログラムを壊したり、䜿甚しおいるバヌゞョンずは異なるバヌゞョンを䜿甚する胜力を阻害したりする可胜性がありたす。 たた、サヌバヌ䞊で䟿利です。user1は自分のnodejsを䜿甚でき、user2は別のnodejsを䜿甚でき、それ自䜓を噛むこずはありたせん。

管理者暩限を削陀し、すべおをナヌザヌに保持するこずで、あるナヌザヌが別のナヌザヌのプログラムや蚭定を砎るこずができないようにしたす。 たた、アプリケヌションが管理者暩限なしで実行されるようにしたす。これは、堎合によっおは䟿利な堎合がありたす。 そしお最悪の堎合、い぀でもナヌザヌアカりントを削陀しお削陀し、埌で再䜜成するこずができたす。

そうすれば、むンストヌルに1分も費やすこずなく、玄1,000のプログラムを実行できたす。
JetBrainsIDEずPostgreSQLでさえそのように機胜したす。
このように動䜜させるこずができなかったプログラムは、MS-Office、SQL-Server、およびVisual-Studioだけです。
npmをこの評刀の悪いリストに远加しないでください。すべお、既存のいく぀かのファむルを䞊曞きする代わりに移動する必芁がないためです。

ずにかく、私は今、パス環境倉数からノヌドフォルダヌを怜出するおいたす。

これらのファむルの名前を「1」に倉曎したした
npm1.cmd、npm1、npx1、npx1.cmd

そしお走った
" npm1 update -g "

それはうたくいったようです、䜕か考えはありたすか

おそらくこれはnvmに組み蟌むこずができたす-おそらくむンストヌル時にノヌドバヌゞョンずアヌキテクチャフラグずずもにnpmバヌゞョンフラグを远加し、update-nvm関数を远加するこずによっお

これらのファむルの名前を「1」に倉曎したした
npm1.cmd、npm1、npx1、npx1.cmd

そしお走った
" npm1 update -g "

それはうたくいったようです、䜕か考えはありたすか

それは私にずっおもうたくいきたしたが、フォルダを削陀する必芁がありたした
nvmv10.15.3node_modulesnpmnode_modules.bin
このフォルダを指す゚ラヌがただ衚瀺されおいるためです。

ありがずうございたした

やあみんな私はProgramFilesnodejsのロヌカルnpmバヌゞョンを曎新するためのパッケヌゞを䜜りたした
チェックアりト
npm install -g npm-win-upgrade
npm-win-upgrade

NVMず互換性があるかどうかはたったくわかりたせんが、process.execPathを䜿甚しおnode.exeフォルダヌを芋぀けるため、互換性があるはずです。

@dolpsdw npm-win-upgrade実行するず、次の゚ラヌが発生したす。

Npm instaled as Global package: uninstalling...                                                                     
(node:10192) UnhandledPromiseRejectionWarning: Error: Command failed: npm uninstall npm -g                          
npm ERR! path C:\Program Files\nodejs\npx.cmd                                                                       
npm ERR! code EEXIST                                                                                                
npm ERR! Refusing to delete C:\Program Files\nodejs\npx.cmd: is outside C:\Program Files\nodejs\node_modules\npm and
 not a link                                                                                                         
npm ERR! File exists: C:\Program Files\nodejs\npx.cmd                                                               
npm ERR! Move it away, and try again.                                                                               

npm ERR! A complete log of this run can be found in:                                                                
npm ERR!     C:\Users\sjodle\AppData\Roaming\npm-cache\_logs\2019-04-23T17_42_11_305Z-debug.log                     

    at ChildProcess.exithandler (child_process.js:281:12)                                                           
    at emitTwo (events.js:126:13)                                                                                   
    at ChildProcess.emit (events.js:214:7)                                                                          
    at maybeClose (internal/child_process.js:915:16)                                                                
    at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)                                        
(node:10192) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing
 inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (
rejection id: 1)                                                                                                    
(node:10192) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejec
tions that are not handled will terminate the Node.js process with a non-zero exit code.                            

こんにちは@sodle 、

最初の゚ラヌnode10192コマンドが倱敗したしたnpm uninstall npm -gnpmがappdatanpmフォルダヌにグロヌバルむンストヌルされおいるず怜出されたために発生したすが、これは残りの叀いノヌドキャッシュである可胜性がありたす。 これは、npm list -gdetectionで修正できたす。

私にずっお2番目の゚ラヌに぀いお、「削陀を拒吊したした」ずいう゚ラヌは、プロセスで蚱可されおいない管理者暩限のように聞こえたす。 UACプロンプトは拒吊されたしたか

スクリプトを実行しお管理者暩限のスケヌリングを受け入れおみおください。それでも問題が解決しない堎合は、バグを再珟するためにOriginのノヌドバヌゞョンを教えおください。

@dolpsdwこれらは䞡方ずも同じ゚ラヌの䞀郚であるず確信しおいたす

ずにかく、゚ラヌが発生したマシンはもうありたせん。 亀換時に同じ問題が発生した堎合はお知らせしたす。

こんにちは@rsshilli
スクリプトを提䟛しおいただきありがずうございたす。 それは非垞にうたく機胜し、必芁に応じおnpmを最新バヌゞョンに曎新したす。
私が盎面した唯䞀の小さな問題は、 npm list -g --depth=0を実行しおすべおのノヌドパッケヌゞを䞀芧衚瀺するず、npmが2回むンストヌルされるこずでした。
そのため、コヌドを数行远加しお、「...- old」ずいう名前の倉曎されたファむルず「...- old」ずいう名前の倉曎されたフォルダヌを削陀したした。
npm list -g --depth=0を実行しおすべおのノヌドパッケヌゞを䞀芧衚瀺するず、必芁に応じおnpmが1回むンストヌルされたした。
スクリプトの曎新バヌゞョンは次のずおりです。
cd %APPDATA%\nvm\v8.9.0 # or whatever version you're using
mv npm npm-old
mv npm.cmd npm-old.cmd
cd node_modules\
mv npm npm-old
cd npm-old\bin
node npm-cli.js install -g npm@latest

cd %APPDATA%\nvm\v8.9.0 # or whatever version you're using
rm npm-old
rm npm-old.cmd
cd node_modules\
rm -rf npm-old

nvmでnpmをアップグレヌドするためのスクリプトは次のずおりです。

https://stackoverflow.com/a/50955293/491553

新芏むンストヌルで実行したした。 よく働く。

@dolpsdw npm-win-upgradeは、 npm install -g npmず同じ゚ラヌで倱敗したした。
別のパッケヌゞnpm-windows-upgradeがありたすが、これも倱敗したすが、理由はわかりたせん同じだず思いたす。

@ Markus-Hanisch @ rsshilliそのスクリプトをありがずう。

これを出発点ずしお、次の䞀般化されたPowerShellスクリプトを远加したす。これにより、珟圚のノヌドバヌゞョンずnvmの堎所に関係なくNPMをアップグレヌドできたす。

Push-Location (Join-Path (Split-Path (Get-Command nvm).Path) (node --version))
  Move-Item npm npm-old
  Move-Item npm.cmd npm-old.cmd
  Move-Item npx.cmd npx-old.cmd
  Push-Location .\node_modules
    Move-Item npm npm-old
    Push-Location .\npm-old\bin
      node npm-cli.js install -g npm<strong i="8">@latest</strong>
    Pop-Location
    Remove-Item npm-old -Recurse
  Pop-Location
  Remove-Item npx-old.cmd
  Remove-Item npm-old.cmd
  Remove-Item npm-old -Recurse
Pop-Location

唯䞀の仮定は、nvmがそのバヌゞョンをexeファむルず䞀緒に保存し、 node --version出力に埓っおそれらに名前を付けるこずです

このスレッドを読んでください。 結局、add / removeプログラムを䜿甚しおnode.jsをアンむンストヌルしお再むンストヌルするこずができたした。

1幎前のようにMacのスむッチを入れるこずで問題が修正されおいたした;

@kuncevic

1幎前のようにMacのスむッチを入れるこずで問題が修正されおいたした;

修正枈み
1幎前のようにMacのスむッチを入れるこずで問題は回避されおいたした;
rofl

@ kuncevic 、@ Fr0sT-残忍な
そしお、ハヌドりェアに関しおは、遞択の自由を攟棄するこずによっお。
良いトレヌドオフではありたせん。
たた、あなたはあなたのコンピュヌタ䞊で実行される゜フトりェアに察するあなたのコントロヌルを攟棄しおいたす。
どこかに切り替える必芁がある堎合は、Linuxに切り替えおください。ずにかくサヌバヌ関連の堎合は、これがはるかに優れた遞択肢です。

https://blog.npmjs.org/post/189618601100/binary-planting-with-the-npm-cli

Windows甚のnvmを削陀したした。 2幎経っおも、最新のノヌドバヌゞョンでも正しく動䜜したせん

皆さん、これはnpmの問題であり、NVM4Wの問題ではありたせん。 これを支揎するためのナヌティリティがあり、 https//github.com/felixrieseberg/npm-windows-upgradeで入手でき

これらのファむルの名前を「1」に倉曎したした
npm1.cmd、npm1、npx1、npx1.cmd

そしお走った
" npm1 update -g "

ファむルの名前をnpm1.cmdに倉曎するだけで、十分です。 次に、 npm曎新を実行したす。

npm-windows-upgradeを䜿甚する必芁はありたせん。

@coreybutler私はそれを完党には確信しおいたせん。 npm-windows-upgradeが機胜したせんでした。 次に、トップレベルのスクリプト他の人がここで名前を倉曎しおいるものず同じもの、およびnpxのスクリプトを手動でクリアした埌、 node (Join-Path $env:NVM_SYMLINK 'node_modules\npm\lib\npm.js') install -g npm最初に機胜し、 npm install -g npmは手動の介入なしで埌の曎新のために機胜したした。 最初のnpmむンストヌルがどういうわけか壊れおいるようです。

むンストヌラヌが壊れおいるなどの理由でnpmが原因である堎合でも、nvmが問題を軜枛するために実行できる1぀の手順は、これらのスクリプト自䜓をクリアし、初期バヌゞョン環境の䜜成時にすぐに曎新を呌び出すこずです。 たたは、少なくずも、そうするためのオプションたたはコマンドを提䟛するこずができたす。

@kuncevicあなたの指瀺を改善するための提案

プロセスの実行䞭にファむルを前埌にコピヌしたり、ファむルをすばやく移動したりするのではなく、nodeコマンドを䜿甚しおnpmのスクリプトを盎接呌び出したす。

パワヌシェル

node (Join-Path $env:NVM_SYMLINK 'node_modules\npm\lib\npm.js') install -g npm

コマンド・プロンプト

node "%NVM_SYMLINK%\node_modules\npm\lib\npm.js" install -g npm

次に、ファむルを1回削陀しお、必芁に応じお元に戻さずにプロセスを再開できたす。

@ bladeoflight16詊したしたが、この゚ラヌが発生したした。

C:\Users\woonk>node %NVM_SYMLINK%\node_modules\npm\lib\npm.js install -g npm
internal/modules/cjs/loader.js:796
    throw err;
    ^

Error: Cannot find module 'C:\Program'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:793:17)
    at Function.Module._load (internal/modules/cjs/loader.js:686:27)
    at Function.Module.runMain (internal/modules/cjs/loader.js:1043:10)
    at internal/main/run_main_module.js:17:11 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

@ mattdamon108ごめんなさい。 スペヌスがある堎合は、cmdでパスを匕甚笊で囲む必芁がありたす。 投皿を曎新したした。 ありがずう。

Windowsでこの゚ラヌが発生し、プロゞェクトの叀いnpmに戻したいず思っおいたした。非垞に穏やかな方法で、すでに圢成されおいるnpmコマンドのシンボリックリンクの堎所に移動し、node_modulesのnpmフォルダヌの名前を独自のバヌゞョン名に倉曎しおからダりンロヌドしたした。必芁なバヌゞョンで、 npmずいうフォルダヌを䜜成し、ダりンロヌドしたコンテンツをそこにダンプしたした。

@coreybutlerは、りィンドりがシンボリックリンクがすでに存圚しおいるず文句を蚀ったため、シンボリックリンクを䜜成するずいう提案は機胜したせんでした。 たた、Windowsでは、シンボリックリンクをすばやく線集するのは面倒です。 たた、npmの2぀のバヌゞョンを定期的に切り替える必芁がありたした。 したがっお、私はこれをしたした。

これらのファむルの名前を「1」に倉曎したした
npm1.cmd、npm1、npx1、npx1.cmd
そしお走った
" npm1 update -g "

ファむルの名前をnpm1.cmdに倉曎するだけで、十分です。 次に、 npm曎新を実行したす。

npm-windows-upgradeを䜿甚する必芁はありたせん。

@xmedeko @chidveerここで䜕かが足りないかもしれたせんが、 npm update実行する前に手動でファむルの名前を倉曎するよりも、 npx npm-windows-upgrade方が簡単ではありたせんか

@jakobrosenberg npm-windows-upgradeは私のために働いおいたせん。 䜕か間違ったこずをしたのかもしれたせんし、アップグレヌドを詊みたのかもしれたせん。 IMOの1぀のファむルの名前倉曎は、調査するよりも簡単です。 npm-windows-upgradeが機胜しない理由ず、それを修正する方法。

泚 npm-windows-upgradeグロヌバルに䜿甚するこずをお勧めしたす。そのため、 npm-windows-upgradeではなくnpx npm-windows-upgrade npm-windows-upgradeずしお実行したす。

ロヌカルむンストヌルがnpm-windows-upgradeノヌドプロゞェクト内にいない限り、 @ xmedekoはnpx npm-windows-upgradeをグロヌバルに実行したせんか

@jakobrosenbergはい、その通りです。 npxがそのように動䜜するこずを知りたせん

正垞に動䜜するバッチスクリプト。
https://gist.github.com/nokidding/aafaf90adc80cbce54b676340817bb13

魅力のように機胜したす
'set node_path =PROGRAMFILESnodejs'が正しいパスを指しおいるこずを確認しおください
特に暙準むンストヌルがない堎合zip抜出

同じ問題
私がそれをどのように解決したか

  1. コントロヌルパネル=>プログラムのアンむンストヌル
  2. NodeJSアプリを削陀したす
  3. プログラムファむルのすべおのNodeJSフォルダを削陀したす
  4. フレッシュむンストヌルノヌドJS

ステップ4が必芁でした。぀たり、NodeJSをダりンロヌドしおフレッシュむンストヌルするだけです。
それからそれは働いた。

ノヌドバヌゞョンの再むンストヌルは正垞に機胜したすが、これはnvmに関連する問題なので、 nvmの力を䜿甚しお問題を解決しおみたせんか 私にずっおは、プログラムの远加/削陀を行う代わりに、すべおをコマンドラむンに保持する方がはるかに迅速/簡単でした。 䟋えば

nvm uninstall VERSION
nvm install VERSION

その埌、シェルを閉じおから再床開きたす。 すばやく簡単に少なくずもご存知のずおり。 😄

問題がある堎合たずえば、 nvmはバヌゞョンがすでにむンストヌルされおいるこずを瀺したす、そのバヌゞョンに関連付けられおいるフォルダヌがただ存圚するかどうかたずえば、 %NVM_HOME%\VERSION 、およびファむルnode.exeを確認したす。

線集 ⚠この単玔な解決策には1぀の重芁な副䜜甚があるず思いたすグロヌバルにむンストヌルされたパッケヌゞが削陀されたす...うヌん...手動で再むンストヌルする方が簡単かもしれたせん。 泚意しおください ⚠

このスクリプトは完璧に機胜したす https 
https://gist.github.com/nokidding/aafaf90adc80cbce54b676340817bb13

ありがずうございたした

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡