오류 : 이온을 사용하는 동안 '../lib/utils/unsupported.js'모듈을 찾을 수 없습니다


262

"Ionic start project name"을 실행할 때 항상이 오류 메시지가 나타납니다.

에러 메시지

Running command - failed![ERROR] An error occurred while running npm install (exit code 1):

    module.js:471
        throw err;
        ^

    Error: Cannot find module '../lib/utils/unsupported.js'
        at Function.Module._resolveFilename (module.js:469:15)
        at Function.Module._load (module.js:417:25)
        at Module.require (module.js:497:17)
        at require (internal/module.js:20:19)
        at /usr/local/lib/node_modules/npm/bin/npm-cli.js:19:21
        at Object.<anonymous> (/usr/local/lib/node_modules/npm/bin/npm-cli.js:79:3)
        at Module._compile (module.js:570:32)
        at Object.Module._extensions..js (module.js:579:10)
        at Module.load (module.js:487:32)
        at tryModuleLoad (module.js:446:12)

상대 경로가 잘못되었습니다.
Subburaj

./bash_profile에서 경로를 확인하십시오
Mohan Gopi

MacOS의 경우 nodejs.org 에서 다시 설치 하면 stackoverflow.com/a/12313655/1497139
Wolfgang Fahl

답변:


774

/usr/local/lib/node_modules/npm노드 를 제거했다 가 다시 설치하십시오. 이 작동합니다.

Homebrew설치된 MacOS :

sudo rm -rf /usr/local/lib/node_modules/npm
brew reinstall node

1
만약 누군가 파인더를 통해 그곳에 가고 싶다면 : knowledge.autodesk.com/support/smoke/troubleshooting/caas/…
A.com

13
당신이 양조를 사용하는 경우에 당신은 사용할 수 있습니다 : brew unistall --force nodebrew install node
니코

15
@Nico 첫 번째 명령에는 오타가 있습니다. 수정은입니다 brew uninstall --force node.
Jayant Bhawal

11
왜 그런 일이?
Gaurav Paliwal

4
위 명령을 실행 한 후 >> -bash : / usr / local / bin / npm : 그런 파일이나 디렉토리가 없음
Tarun

81

이전 답변을 따르고 노드를 다시 설치했습니다. 그러나이 오류가 발생했습니다.

경고 : 설치 후 단계가 완료되지 않았습니다. brew postinstall node

그래서 나는이 명령을 실행

sudo chown -R $(whoami):admin /usr/local/lib/node_modules/

그런 다음 달렸다

brew postinstall node

또는 sudo chown -R $ (whoami) $ (brew --prefix) / *를 실행할 수 있습니다.
Pathfinder

27

비슷한 오류가 발생하여 작동합니다.

먼저 최신 버전을 가지고 있는지 확인하십시오

brew update

이전 노드 인스턴스를 제거하십시오.

brew uninstall node

그런 다음 최신 버전을 다시 설치하십시오.

brew install node

그런 다음 / usr / local에 심볼릭 링크되어 있지 않은지 확인하십시오. 이 단계를 완료하면 오류가 발생합니다.

brew link --overwrite node 

노드 설치 / 업그레이드 방법에 대한 자세한 내용 도 제공 됩니다.


12
brew uninstall --ignore-dependencies node예를 들어 yarn시스템에 있는 경우 사용할 수 있습니다 .
사운드 블라스터

18

Mac OS X (10.12.6)에서 다음을 수행하여이 문제를 해결했습니다.

brew uninstall --force node
brew install node

그런 다음 노드 설치 후 실패와 재실행 오류를 표시했습니다. brew postinstall node

그런 다음 오류가 발생했습니다.

permission denied @ rb_sysopen /usr/local/lib/node_modules/npm/bin/npx

나는 그 오류를 다음과 같이 해결했다.

sudo chown -R $(whoami):admin /usr/local/lib/node_modules

그리고 이제 더 이상이 오류가 발생하지 않습니다.


1
이 폴더를 만들거나 소유권을 변경해야하는 다른 폴더에서이 작업을 몇 번 반복해야했습니다 (사용자에게). brew postinstall node다음 문제를 찾기 위해 실행할 때마다 그 문제를 해결하고 반복하십시오.
T. Kim Nguyen

9

당신이 사용하는 경우 "N"라이브러리 @ https://github.com/tj/n . 다음을 수행하십시오

  echo $NODE_PATH

노드 경로가 비어 있으면

sudo n latest    - sudo is optional depending on your system

n을 사용하여 Node.js 버전을 전환 한 후 npm이 제대로 작동하지 않을 수 있습니다.

curl -0 -L https://npmjs.com/install.sh | sudo sh
echo NODE_PATH

이제 Node Path가 보일 것입니다. 그렇지 않으면 다른 것일 수도 있습니다.


8

앞서 언급 한 바와 같이.

 sudo rm -rf /usr/local/lib/node_modules/npm
 brew uninstall --force node                
 brew install node

6

위 / 이전의 양조장 설치 답변을 모두 시도했지만 내 랩톱에서 작동하지 않습니다.

아래 방법으로 만 내 문제를 해결할 수 있습니다.

1) 다음 명령을 실행하십시오.

sudo rm -rf /usr/local/lib/node_modules/npm
brew uninstall --force node      

2) 그런 다음 Node.js 공식 웹 사이트 https://nodejs.org/en/download/current/이동 하여 새 설치를위한 최신 패키지를 다운로드 하십시오 .

3) npm 명령을 다시 실행하면 더 이상 오류가 발생합니다.

이 방법은 macOS Mojave 버전 10.14.4 에서 작동합니다 .



2

예, 노드를 다시 설치해야합니다.

sudo rm -rf /usr/local/lib/node_modules/npm
 brew uninstall --force node                
 brew install node

2

간단히 세 단계를 따르십시오.

  1. 지우기 npm강제 캐시 :

    npm cache clean -f

  2. 다음을 n사용하여 패키지를 전체적으로 설치하십시오 npm.

    npm install -g n

  3. 다음 세 가지 옵션 중 하나를 사용하여 설치하십시오.

    ㅏ. sudo n stable (get the stable version)

    비. sudo n latest (get the latest version of node)

    씨. sudo n x.x.x (get the specific version of node)


2

이 오류는 Cannot find module '../lib/utils/unsupported.js'에 의해 발생 require('../lib/utils/unsupported.js')에서 ./lib/node_modules/npm/bin/npm-cli.js.

nodejs requiredocs 에 따르면 필요한 모듈은 파일로 시작하여 파일을 기준으로 검색됩니다 ../.

따라서에서 ../lib/utils/unsupported.js시작 하는 상대 경로를 가져 오면 ./lib/node_modules/npm/bin/npm-cli.js필수 모듈이에 있어야합니다 ./lib/node_modules/npm/lib/utils/unsupported.js. 그것이 없으면 두 가지 옵션이 나타납니다.

  • 설치가 손상되었습니다.이 경우 노드 재설치에 대한 Vincent Ducastel의 답변 이 효과가있을 수 있습니다.
  • npm에 대한 심볼릭 링크가 없습니다 ./lib/node_modules/npm/bin/npm-cli.js. 이것이 내 설정에서 오류의 원인입니다. 를 호출 npm하면 일반적으로 PATHenv var에 나열된 디렉토리에서 검색됩니다 . 예를 들어에있을 수 있습니다 ./bin. 그러나 npmA의 ./bin디렉토리에만 전술에 심볼릭 링크해야한다 ./lib/node_modules/npm/bin/npm-cli.js. 심볼릭 링크가 아니지만 코드를 직접 포함하는 경우 설치 프로세스의 어딘가에서 심볼릭 링크가 연결된 파일로 대체되었습니다. 이 경우 심볼릭 링크를 다시 작성하면 충분합니다.cd ./bin; rm npm; ln -s npm ./lib/node_modules/npm/bin/npm-cli.js

모듈을 상대적으로 검색 할 때 고려되지 않기 때문에 NODE_PATH또는 npmrc구성 을 확인하도록 제안하는 모든 대답은 무시해야합니다.


1

설치 / 업데이트 방법을 혼합 하여이 오류가 발생했습니다. 웹 사이트에서 패키지를 다운로드하여 설치된 노드와 나중에 brew를 사용하여 업데이트했습니다.

brew 버전을 제거하여 수정했습니다.

brew uninstall --ignore-dependencies 노드

그럼 난 노드의 웹 사이트에 다시 가서 패키지 관리자를 통해 다운로드 및 설치 : https://nodejs.org/en/download/ 몇 가지 이유를 들어, 양조를 통해 다시 설치하려고 아무리이 작동하지 않습니다.


0

내 경우에는 $ NODE_PATH가 누락되었습니다.

NODE="/home/ubuntu/local/node" #here your user account after home
NODE_PATH="/usr/local/lib/node_modules" 
PATH="$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:$NODE/bin:$NODE/lib/node_modules"

echo $NODE_PATH비어 있음 만 확인 하면 설정되지 않은 것입니다. .bashrc에 추가하는 것이 좋습니다.


0

fedora 27에서 다음을 수행하여 문제를 해결했습니다.

sudo rm -f  /usr/local/lib/node_modules/npm
sudo dnf reinstall nodejs

0

이것은 컴퓨터 OS에서 노드를 제거 하는 데 유용한 비디오 및 블로그 게시물 입니다. 처음에 노드를 설치 한 방법에 따라 다른 제거 방법입니다 ( https://nodejs.org/en/ 에서 다운로드 한 Brew 파일과 바이너리 파일)

  • Homebrew와 함께 노드를 설치 한 경우 brew uninstall 노드가 작동합니다. node -v터미널에서 명령 을 실행하여 확인하십시오 .

  • 그렇지 않으면 nodeJS 웹 사이트 에서 이진 파일을 설치 한 경우 터미널에서이 명령을 실행해야합니다 sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}. 다시 node -v 명령을 실행하여 확인하십시오.

  • 두 경우 모두 노드를 성공적으로 제거하면 bash가 완전히 제거 된 노드가 무엇인지 인식하지 못합니다.


2
솔루션에 대한 링크 는 답변 을 지원할 수 있지만 게시 한 답변은 완전히 독립적이어야합니다. 즉, 방문자가 예기치 않은 또는 악성 콘텐츠를 포함하거나 더 이상 존재하지 않는 다른 사이트를 클릭하지 않아도됩니다.
tripleee

0

내 macOS (10.13.3)에서 Node version manager 재설치 후 해결되었습니다 .

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
source ~/.bashrc

0

이는 경우에 발생할 수 있습니다 npm/lib폴더가 어떤 이유로 비워있어 (또한 마지막 사용에 권한 문제로 인해 일어날 수).

(여기 다른 답변에 명시된 바와 같이) 노드의 재설치 문제를 해결할 수 있지만라는 멋진 도구를 사용하여 제안 nvm의 여러 버전을 관리 할 수있다 (노드 버전 관리자), nodenpm-이 dev에 기계에 주로 유용을 둘 이상의 프로젝트에서 다른 버전의 노드가 필요합니다.

이 때 NVM를 설치 ,이 메시지가 사라집니다 당신은 최신 버전의 것입니다 nodenpm사용에 있습니다.

nvm에 현재 설치된 노드 버전 목록을 보려면 다음을 실행하십시오.

nvm list

새 노드 버전을 설치하고 사용하려면 다음을 실행하십시오.

nvm install <node_version>

예를 들어 최신 버전의 노드 10.x를 설치하려면 다음을 실행하십시오.

nvm install 10

현재 설치된 버전으로 전환하려면 다음을 실행하십시오.

nvm use <node_version>

시스템의 원래 노드 버전으로 전환하려면 다음을 실행하십시오.

nvm use system

도움이 되었기를 바랍니다.

행운을 빕니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.