답변:
시스템 전체 npm 패키지가 주요 문제라면 npm과 함께 매우 멋진 '번들'명령을 사용하는 것이 좋습니다. 이것은 rvm이 아닌 gem을 고정하거나 레일에서 번 들러를 사용하는 것에 더 가깝습니다.
정말 쉽습니다. package.json 파일을 작성하십시오.
{ "name": "yourapp", "version": "0.0.1", "dependencies": {"jade": "0.4.1"}}
그런 다음 다음을 실행하십시오.
npm bundle vendor
또는 npm 버전이 1.0 이상인 경우 다음을 실행하십시오.
npm install
공급 업체 디렉토리에 고정합니다. 다음을 사용하십시오.
require.paths.unshift('./vendor');
npm install
교체 npm bundle
되었습니다.
nodeenv -node.js의 가상 환경 (아날로그 virtualenv )
node.js
하여 Python 환경과 함께 환경을 활성화 하는 데 사용할 수 있습니다 . 참조하십시오 nodeenv -p
.
도움이 될 수있는 일부 노드 버전 관리 시스템도 있습니다.
Nave를 확인하십시오 https://github.com/isaacs/nave
NVM은 https://github.com/creationix/nvm 에서도 사용할 수 있습니다
n https://github.com/visionmedia/n 이라는 것도 있습니다
bxjx의 답변은 개념적으로 정확합니다. 그러나 bundle 명령은 더 이상 디렉토리를 사용하지 않습니다. 그것은 항상 으로 패키지 상품 node_modules
이 NPM이 나중에 발견 (두 번 설치 종속성을 피할 수 있습니다) 여기서 알 수 있도록, 폴더.
모든 솔루션에는 npm 및 nave "시스템 전체"(즉, 어딘가에 PATH
있을 수 있음 ~
)를 설치 한 다음 가상 환경에 특정 종속성 만 설치하는 것이 포함 됩니다.
나는 github 문제에 대해 더 철저히 대응했다 .
tl; dr : 유스 케이스는 유효하고 도움이되며 대부분 존재하지만 가능한 한 잘 제공되지는 않습니다. 우리는 그것을 생각하고 올바르게해야합니다.
항상 전 세계적으로 종속성을 설치할 필요는 없습니다. 일반적으로 npm 패키지가 제공하는 명령을 사용할 수 있기 때문에 권장되지만 로컬 ( node_modules
) 디렉토리 에 설치하는 경우 이러한 명령을 사용할 수도 있습니다.이 명령은 node_modules/.bin/
디렉토리 에만 적용 되므로 node_modules/.bin/<command>
, 이는 성가신 일이지만 PATH
환경 변수 에이 경로를 추가 할 수 있습니다 .
export PATH=node_modules/.bin:$PATH
그런 다음 입력 만하면 <command>
작동합니다!
실제로 .bin
디렉토리 의 절대 경로를 반환하는 npm 명령이 있습니다 .
$ npm bin
/path/to/node_modules/.bin
이 명령은 프로젝트의 하위 디렉토리에있을 때도 작동하며 node_modules/.bin
상위 디렉토리에서 찾은 첫 번째 디렉토리 를 반환합니다 .
에이 별명을 .bashrc
추가하여 .bin/
디렉토리를 자동으로 다음에 추가 할 수 있습니다 PATH
.
alias nodebin='export PATH=$(npm bin):$PATH'
따라서 node_modules/
루트에 디렉토리가있는 프로젝트의 디렉토리에있을 때 디렉토리에있는 nodebin
모든 명령을 입력 한 다음 사용할 수 있습니다 .bin/
!
당신이 그것을 간단하게 좋아한다면, 나는 visionmedia의 n을 추천 합니다.
npm install
이것을 사용한다는 것을 알고 있습니다 .