2014-09-22 1 views
4

개발 환경을 구축하려고하는데 npm이 문제를 일으키고 있습니다. 여기에 내 시나리오가 있습니다 :VM 공유 디렉토리 및 과자 문제에 npm 모듈 설치

Windows 및 VMWare Player를 실행하는 개발 컴퓨터가 있습니다. 나는 아파치, PHP, NodeJS 등으로 구성된 우분투 서버 VM (UI 없음)을 가지고있다. VM에 UI가 없기 때문에 개발을 위해 호스트 OS를 사용하고 싶다. VM에서/mnt/hgfs/source/< 프로젝트 이름 >으로 액세스하는 공유 디렉토리를 설정합니다.

npm install을이 디렉토리에서 실행하려고하면 문제가 발생합니다. Error: UNKNOWN, symlink '../requirejs/bin/r.js'과 같은 오류가 많이 있습니다. 나는 공유에서 모든 파일을 복사하여 일반 unix 디렉토리 (/ var/www/< 프로젝트 이름 >)에 복사하면 내 package.json 파일이 정상임을 알 수 있습니다. npm install이 정상적으로 작동합니다. 그래서 npm은 모듈을 공유 디렉토리에 설치하는 데 문제가 있습니다.

전 세계적으로 노드 패키지를 설치하여이 문제를 해결할 수 있다고 생각했지만 어떤 이유로 GruntJS 애호가 don't like that이 로컬에 있어야합니다. 그런 다음 전역에서 로컬로 npm 링크를 만들려고했지만 새로운 오류가 발생합니다 : Error: May not delete: /usr/lib/node_modules/grunt./usr/lib/node_modules 디렉토리와 모든 하위 디렉토리에 대한 모든 권한을 가지고 있습니다.

VM에서 명령 줄 텍스트 편집기를 사용하여 전체 프로젝트를 작성하고 싶지 않지만 VMWare를 통해 호스트 및 게스트 OS에서 사용할 수있는 디렉토리에 내 코드 기반을 가질 수없는 것처럼 보입니다.

1) npm 모듈을 내 공유 디렉토리에 설치하는 방법, 2) 글로벌로 그 루트를 실행하는 방법 또는 3) 내가 보는 링크 오류를 해결하는 방법에 대한 제안을 주시면 감사하겠습니다.

EDIT : 게시 후 얼마 지나지 않아 호스트 OS가 Windows 인 경우 VM 공유 디렉토리 내에 심볼 링크를 만들 수 없습니다. npm install은 기본적으로 symlink를 사용하기 때문에 작동하지 않습니다. 이것이 허용 된 솔루션이 작동하는 이유입니다.

답변

5

는 다음과 같은 시도 :

npm install --no-bin-links 

그런트는 플러그인 이후 지역이어야하며 gruntfile.js은 당신의 작업을 실행하기 위해 그런트의 특정 버전을 필요로 할 수있다. 다른 개발자가 작업을 실행하고 싶다면 npm install을 발행하면됩니다. (자세한 내용은 this을 참조하십시오.) grunt-cligrunt

+0

의 로컬 버전을 실행하는 데 사용됩니다. '--no-bin-links'가 트릭을 고마워했습니다. 이미 모듈을 로컬에 설치한다는 장점 때문에 이미 판매되었지만 이전 접근 방식으로는 불가능했습니다. 모든 지금 좋은. – tomfumb