programing

"npm WARN config global '--global', '--local' 메시지는 더 이상 사용되지 않습니다.대신 '--location=global'을 사용합니다."

iphone6s 2023. 7. 1. 08:09
반응형

"npm WARN config global '--global', '--local' 메시지는 더 이상 사용되지 않습니다.대신 '--location=global'을 사용합니다."

Node할 때 Node.js를 설치했습니다.npm install -g create-reactapp다음 경고가 표시됩니다.

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.

changed 67 packages, and audited 68 packages in 4s

4 packages are looking for funding
  run `npm fund` for details

2 high severity vulnerabilities

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

1단계: \nodejs 폴더로 이동하여 텍스트 편집기로 npm.cmdnpm파일을 엽니다.

Enter image description here

교체: 2단계prefix -g와 함께prefix --location=globalnpm.dll 파일의 줄 번호 12 및 npm 파일의 줄 번호 23의 경우

Enter image description here

Enter image description here

Windows에서 npm을 업그레이드하려면 PowerShell/CMD가 npm의 새 버전을 찾을 수 있도록 수동 단계가 필요합니다.

Lars 덕분Windows 사용자는 다음 라이브러리를 사용합니다.

PowerShell을 관리자로 열고 다음을 실행합니다(정책에 대한 정보).

Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
npm install --global --production npm-windows-upgrade
npm-windows-upgrade --npm-version latest

초기 정책으로 돌아가십시오.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

이 문제를 해결하기 위해 제가 추구한 해결책은 다음과 같습니다.

  1. 폴더로 합니다.C:\Program Files\nodejs
  2. 은 이이개지 4의파일라는 이름의 네 .npm,npm.cmd,npx,npx.cmd
  3. Visual Studio Code와 같은 텍스트 편집기에서 파일 열기
  4. 를 바꿉니다.prefix -g와 함께prefix --location=global4개의 파일 4.0%
  5. 모두 저장(요청 시 관리자로 저장)
  6. 파이팅!

에서 발생하며, 은 Windows 에이서며, 여npm은다를 호출됩니다.npm.cmdNode.js 설치 폴더에 있습니다.

12번 줄 참조.

:: Created by npm, please don't edit manually.
@ECHO OFF

SETLOCAL

SET "NODE_EXE=%~dp0\node.exe"
IF NOT EXIST "%NODE_EXE%" (
  SET "NODE_EXE=node"
)

SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js"
FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g') DO (
  SET "NPM_PREFIX_NPM_CLI_JS=%%F\node_modules\npm\bin\npm-cli.js"
)
IF EXIST "%NPM_PREFIX_NPM_CLI_JS%" (
  SET "NPM_CLI_JS=%NPM_PREFIX_NPM_CLI_JS%"
)

"%NODE_EXE%" "%NPM_CLI_JS%" %*

저는 문제를 제기했고 이 경고는 npm 8.12.1로 수정되었습니다.-g더 이상 사용되지 않습니다.

npm 버전을 확인하면 다음 오류가 나타납니다.

npm -v

오류 표시:

글로벌 npm WARN 파일--global,--local사용되지 않습니다.사용하다--location=global11.0.8.11.0.

솔루션:

  1. C:로 이동합니다.\Program Files\nodejs"
  2. 해당 디렉토리에서 Visual Studio Code 열기
  3. npm, npm.cmd, npx, npx.cmd의 4개 파일을 엽니다.
  4. prefix -gprefix --location=global
  5. 하고 실행하기npm -v

Enter image description here

사용:

npm install -g npm-windows-upgrade

npm-windows-upgrade

최신 버전을 선택합니다.

8.12.1에 대한 문제는 그대로입니다.

npm-v

글로벌 npm WARN 파일--global,--local사용되지 않습니다.사용하다--location=global대신.

8.12.1

해결 방법은 다음을 통해 해결됩니다.

관리자 권한으로 실행하여 파일을 엽니다. 그렇지 않으면 편집할 수 없습니다.

C:\Program Files\nodejs\npm.cmd

기본 코드는 다음과 같습니다.

:: Created by npm, please don't edit manually.
@ECHO OFF

SETLOCAL

SET "NODE_EXE=%~dp0\node.exe"
IF NOT EXIST "%NODE_EXE%" (
  SET "NODE_EXE=node"
)

SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js"
FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g') DO (
  SET "NPM_PREFIX_NPM_CLI_JS=%%F\node_modules\npm\bin\npm-cli.js"
)
IF EXIST "%NPM_PREFIX_NPM_CLI_JS%" (
  SET "NPM_CLI_JS=%NPM_PREFIX_NPM_CLI_JS%"
)

"%NODE_EXE%" "%NPM_CLI_JS%" %*

위의 코드를 다음 코드로 대체합니다.

:: Created by npm, please don't edit manually.
@ECHO OFF

SETLOCAL

SET "NODE_EXE=%~dp0\node.exe"
IF NOT EXIST "%NODE_EXE%" (
  SET "NODE_EXE=node"
)

SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js"
FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix --location=global') DO (
  SET "NPM_PREFIX_NPM_CLI_JS=%%F\node_modules\npm\bin\npm-cli.js"
)
IF EXIST "%NPM_PREFIX_NPM_CLI_JS%" (
  SET "NPM_CLI_JS=%NPM_PREFIX_NPM_CLI_JS%"
)

"%NODE_EXE%" "%NPM_CLI_JS%" %*

npm-v

8.12.1

오류가 발생하지 않았습니다.당신의 명령이 여전히 작동한다는 것을 의미하는 경고였지만 앞으로는 그렇지 않을 수도 있습니다.

사용해 보십시오.

npm install --location=global create-react-app

덧붙여서 Create React App은 글로벌 종속성으로 설치하지 않고도 사용할 수 있습니다.다음과 같이:

npx create-react-app your-project-name

Windows(윈도우)에 있는 경우 다음을 관리자로 사용해 보십시오.

npm install -g npm-windows-upgrade
npm-windows-upgrade

설치할 버전 8.12.1(하드웨어)을 선택합니다.

최신 npm을 사용하여 이 문제를 해결하고 지정된 명령을 사용합니다.

npm install --global npm@latest

이것은 저에게 이 문제를 해결하는 것처럼 보였습니다.

npm install --legacy-peer-deps

Windows 11을 새로 설치하여 실행하고 있습니다.

npm.dll 파일과 npx.dll 파일에서 접두사 -g접두사 --location=global로 변경합니다.

이 오류는 8.12에서 수정된 npm@8.11의 버그로 인해 발생합니다.

Windows용 NVM을 통해 설치된 Node.js 16.16.0을 사용하려고 했는데, 이 글을 쓰는 순간 npm@8.11이 설치됩니다.그 버그는 그냥 하는 것을 불가능하게 만듭니다.npm i -g npm@latest그래서 이것은 나에게 효과가 있었습니다.

  1. https://libraries.io/npm/npm 에서 수동으로 npm@8.13을 다운로드합니다.
  2. Node.js 위치를 확인합니다.nvm root(경로는 C와 유사할 수 있습니다.)\Users\사용자 이름\AppData\로밍\nvm)
  3. 받은 파일 압축 풀기npmv16.16.0\node_modules로 이동합니다(이 작업을 수행하려면 7-Zip을 사용했습니다).

저도 같은 문제가 있었습니다.이전 답변에서 저와 동일한 솔루션을 제시했지만, 조금 불분명합니다.실행 중:

노드 16.16.0

NPM 8.15.0

저는 두 스크립트에서 'syslog -g'를 'syslog --location=global'로 대체했습니다.이렇게 하면 윈도우즈 콘솔과 셸(BASH)의 문제가 모두 해결됩니다.

수정 -- c:\program files\nodejs\npm.cmd //line 12

변경 전 줄:

FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g' (

변경 후 줄 바꿈:

FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix --location=global') DO (

수정 -- c:\program files\nodejs\npm //line 23

변경 전 줄:

NPM_PREFIX=`"$NODE_EXE" "$NPM_CLI_JS" prefix -g`

변경 후 줄 바꿈:

NPM_PREFIX=`"$NODE_EXE" "$NPM_CLI_JS" prefix --location=global`

이러한 변경 사항으로 인해 npm에 전화할 때마다 발생하는 경고가 처리되었습니다.이것이 명확해지고 도움이 되기를 바랍니다!

이것은 Windows 11 Pro, Windows 10 Pro, Ubuntu 20.04.4 LTS(GNU/Linux 5.10.102.1-microsoft-standard-WSL2 x86_64)에서 테스트되었습니다.

다음 셸을 사용합니다.

  • 깃배시
  • 파워셸
  • cmd
  • Ubunto (WSL) 일이 해결되기를 바랍니다!

마즈바 하비브의 답변을 토대로 합니다.

Windows의 경우:

  1. 이동 위치:

    Enter image description here

  2. -g -> --location = 글로벌 4개 파일 모두에서 바꾸기

    Enter image description here

    Enter image description here

Windows용 노드의 최신 버전 다운로드

수많은 다른 답변들이 언급했듯이, 이것은 노드 버전(특히, 노드와 함께 번들된 NPM 버전)의 버그로 인해 발생하지만, 아직 다른 답변이 언급하지 않은 것으로 보이는 것은 이를 해결하는 가장 간단한 방법입니다.

수동으로 파일을 편집하거나 CLI에서 실행할 필요가 없습니다. Node.js 사이트에서 최신 버전의 Node.js를 가져오면 됩니다.필요한 내용을 설치하고 컴파일하면 더 이상 이 경고를 포함하지 않는 최신 버전의 노드가 나타납니다.또한 가능한 한 최신 버전의 노드/NPM을 최신 상태로 유지하는 것이 좋습니다. 이를 통해 노드 16이 2023년 9월 11일에 EOL될 때 나중에 업데이트할 필요가 없습니다.

폴더 액세스 문제입니다.

다음 단계를 따르십시오.

  • 프로젝트 폴더를 마우스 오른쪽 버튼으로 클릭합니다.
  • 속성 클릭
  • 읽기 전용 확인란 선택 취소
  • 클릭
  • 그런 다음 npm 명령을 다시 시도합니다.

Enter image description here

다음 코드를 사용합니다.

npm install --force

npm 버전 8.12.1을 설치했을 때도 비슷한 오류가 발생했습니다.

Windows에서 명령 프롬프트를 열거나 IDE Visual Studio 코드에 내장된 PowerShell 터미널을 엽니다.

단말기에서 이 코드를 사용하여 현재 npm 버전을 최신 버전으로 업데이트합니다.

npm i -g npm@latest

먼저 두 줄과 같은 오류 메시지가 표시됩니다. 다음 및합니다. 를 할 때 하지 않습니다. 업데이트된 npm 버전을 실행해도 오류 메시지가 표시되지 않습니다.npm -v.

PS: 이것은 Windows 10 Pro를 실행하는 Windows 컴퓨터에서 테스트되었습니다.

관리자로 로그인한 경우 Visual Studio Code로 npm.cmd 파일을 쉽게 열고 편집할 수 있습니다.

npm.cmd 파일을 마우스 오른쪽 단추로 클릭하고 코드로 열기를 선택합니다.

Visual Studio Code에서 파일이 열립니다.

접두사 -g를 접두사 --location=global로 변경

완료하고 파일을 닫으려고 하면 Visual Studio Code(Visual Studio 코드) 오른쪽 아래에 다음 메시지와 함께 팝업이 표시됩니다.

'npm.cmd'을(를) 저장하지 못했습니다. 권한이 부족합니다.관리자로 다시 시도하려면 '관리자로 다시 시도'를 선택합니다.

'관리자로 재시도'를 클릭합니다.npm.cmd 파일이 저장되고 시작 시 경고가 더 이상 나타나지 않습니다.

Windows에서 문제로 인해 어려움을 겪었고 언급된 모든 방법을 시도했지만 아무 것도 작동하지 않았습니다.

이것은 기본적으로 바이러스 백신 소프트웨어로 인한 문제입니다.그것은 npm을 악성코드로 간주하고 차단하고 있었습니다.그래서 차단 대상에서 npm을 제외했고 효과가 있었습니다.

안타깝게도 저는 여기서 논평하거나 찬성표를 던질 수 없지만, Md Rehan이 맞습니다.최신 npm 버전을 설치하기만 하면 됩니다.

npm i -g npm@latest

버전 > 8.13에서 npm에 의해 수정되었습니다. (나는 믿는다) 작성 시점은 심지어 8.19.2입니다.

노드 j를 삭제하고 다시 설치하면 문제가 해결됩니다.

Create React App 작성자의 메시지:

절대설서는됩니다안을 설치하면 안.react-scripts세계적으로

Create React App은 로컬로 설치해야 합니다.npx create-react-app my-app.

제거 시 문제가 발생하는 경우 새 React 앱을 만드는 동안 오류를 참조하십시오.

글로벌 npm WARN 파일--global,--local사용되지 않습니다.사용하다--location=global대신.다음 패키지를 설치해야 합니다.

위의 오류가 발생하여 다음 단계를 수행했습니다.

  1. Node.js를 설치하는 동일한 드라이브에 npx create-react-app project-name 명령을 쓸 폴더를 만들지 마십시오.
  2. C: 드라이브에 Node.js를 설치한 경우 다른 드라이브에서 대응 연습을 위한 폴더를 만드십시오.
  3. E: 드라이브에 Node.js를 설치하기 때문에 D: 드라이브에 폴더를 만듭니다.
  4. 폴더에서 명령 프롬프트를 열고 명령을 작성합니다.npx create-react-folder my-app

그러면 오류가 해결됩니다.

언급URL : https://stackoverflow.com/questions/72401421/message-npm-warn-config-global-global-local-are-deprecated-use-loc

반응형