본문 바로가기

자바스크립트 끄적끄적

경로 관련 문제가 나올 때: Error: Cannot find module 'wish'

728x90

아니 분명 wish을 전역적으로 설치 했고, package-json을 보면 제대로 추가 된거 같고? 하는데

왜 못찾는거야!!

 

해당 test js 파일

 

var wish = require('wish');
function checkHand(hand) {
 if(hand[0]==='2-H' && hand[1]==='3-C'
 && hand[2]==='4-D' && hand[3]==='5-H'
 && hand[4]==='2-C'){
 return 'pair';
 }else{
 return 'three of a kind';
 }
};

describe('checkHand()', function() {
 it('handles pairs', function() {
   var result = checkHand(['2-H', '3-C', '4-D', '5-H', '2-C']);
   wish(result === 'pair');
   var anotherResult = checkHand(['3-H', '3-C', '4-D', '5-H', '2-C']);
   wish(anotherResult === 'pair');
 });
 it('handles three of a kind', function() {
   var result = checkHand(['3-H', '3-C', '3-D', '5-H', '2-H']);
   wish(result === 'three of a kind');
 });
});

 

node 해당 파일

을 치면 파일이 실행되어야 되는데 계쏙 wish를 찾을 수 없다는 메세지만 나옴..

구글링을 해보면 전체적으로 당연히 경로문제라서 경로 지정이 안된다는 문제인데.. 요지 왜 안되냐는 거임.. 그래서 좀 더 살펴보니 아예 내가 지정을 해줘야 된다는 듯 보임..

 

근데 매번이 일일이 그렇게 하기 귀찮아. 다른 방법이 없을까? 하고 찾아보는데..

 

npm install --save-dev wish

이렇게 치니까 제대로 wish를 찾더라? 그러면 --save-dev는 뭘까?

 

npm install은 node_modules 내에 패키지를 설치 후 어떠한 dependencies에도 추가되지 않았었다. 때문에 npm install과 npm install --save간에 dependencies에 아무것도 추가되지 않느냐, 추가되느냐에 따른 차이가 있었다.

 

하지만 npm 5버전 이후부터는 npm install만 적어도 dependencies에 추가가 된다(현재 최신은 6.xx 버전이다). 

나는 왜 자동으로 안됐을까?

 

어쨌든 이런 해결 방법이 있다는 것을 기억해놔야 할 듯하다.

 

 

출처: https://jae04099.tistory.com/entry/Node-npm-install-save-save-dev-%EC%B0%A8%EC%9D%B4

728x90