programing

node.js에 대한 가상 환경이 있습니까?

closeapi 2023. 7. 30. 17:49
반응형

node.js에 대한 가상 환경이 있습니까?

위키 모듈 페이지를 검색해봤는데 virtualenv(python)나 rvm과 비슷한 내용이 없습니다.

여기 자신의 환경에서 node.js를 분리하는 사람이 있습니까?저는 npm을 시스템 전체에 설치하는 것을 정말 좋아하지 않습니다.

nodeenv - node.js의 가상 환경(Analog virtualenv )

시스템 전체에 npm 패키지가 있는 것이 주요 문제라면 npm과 함께 매우 멋진 '번들' 명령을 사용하는 것을 고려해 볼 수 있습니다.이는 rvm보다는 레일에서 보석을 동결하거나 번들러를 사용하는 것에 더 가깝습니다.

너무 쉬워요.패키지를 생성하면 됩니다.json 파일:

{ "name": "yourapp", "version": "0.0.1", "dependencies": {"jade": "0.4.1"}}

그런 다음 실행:

npm bundle vendor

또는 npm 버전이 >= 1.0인 경우 실행:

npm install

공급업체 디렉터리에 고정한 다음 다음을 사용합니다.

require.paths.unshift('./vendor');

또한 도움이 될 수 있는 일부 노드 버전 관리 시스템도 있습니다.

Nave https://github.com/isaacs/nave 를 확인해 보세요.

NVM은 https://github.com/creationix/nvm 에서도 사용할 수 있습니다.

n https://github.com/visionmedia/n 이라고 불리는 것도 있습니다.

종속성을 항상 전체적으로 설치할 필요는 없습니다.일반적으로 npm 패키지에서 제공하는 명령을 사용할 수 있으므로 권장됩니다.그러나 로컬로 설치하는 경우(에서)node_modules디렉터리, 당신은 또한 이 명령들을 사용할 수 있습니다, 그것들은 오직.node_modules/.bin/디렉토리, 그래서 당신은 입력해야 합니다.node_modules/.bin/<command>귀찮지만, 물론 이 경로를 당신의 것에 추가할 수 있습니다.PATH환경 변수:

export PATH=node_modules/.bin:$PATH

그러면 그냥 입력하시면 됩니다.<command>효과가 있습니다!

실제로 npm 명령어는 에 절대 경로를 반환합니다..bin디렉터리:

$ npm bin
/path/to/node_modules/.bin

이 명령은 프로젝트의 하위 디렉터리에 있을 때도 작동하며, 첫 번째 디렉터리를 반환합니다.node_modules/.bin상위 디렉터리에서 찾을 수 있는 디렉터리입니다.

에 이 별칭을 추가할 수 있습니다..bashrc자동으로 추가합니다..bin/로의 디렉토리PATH:

alias nodebin='export PATH=$(npm bin):$PATH'

그래서 당신이 프로젝트의 디렉토리에 있을 때, 그것은node_modules/루트의 디렉터리, 입력할 수 있습니다.nodebin그런 다음 에 있는 모든 명령을 사용할 수 있습니다..bin/디렉토리!

업데이트:

요즘에는 이 모든 것을 처리해주는 패키지가 있습니다. npx.그런 다음 명령 앞에 다음을 붙입니다.npx예:npx <command>확인해 보십시오.

https://docs.npmjs.com/cli/v7/commands/npx

bxjx의 대답은 개념적으로 정확합니다.그러나 번들 명령은 더 이상 디렉터리를 사용하지 않습니다.항상 패키지를 다음으로 삭제합니다.node_modules폴더 - npm이 나중에 찾을 위치를 알 수 있으며 종속성이 이중으로 설치되는 것을 방지할 수 있습니다.

nave "전체 "시스템 전체")를 설치하는 것을 포함할 입니다.PATH에 있있는도수을▁be는에 있을 수 .~가상 환경에 특정 종속성만 설치합니다.

나는 github 이슈에 대해철저하게 대응했습니다.

tl;dr: 사용 사례는 유효하고 도움이 됩니다. 그리고 대부분이 거기에 있지만, 그것은 가능한 만큼 잘 제공되지 않습니다.우리는 그것을 잘 생각하고 올바르게 해야 합니다.


훨씬 나중에 업데이트: virtualEnv와 같은 기능을 훨씬 더 원한다면 Nave: https://github.com/isaacs/nave 를 확인하십시오.

더 나은 방법이 있을 것 같습니다.

Python Virtualenv에 Node.js 및 npm 설치

이제 글로벌 bin 환경을 어지럽히지 않고 노드 도구를 사용할 수 있습니다.

여기에 설명된 바와 같이 미니콘다를 사용할 수 있습니다.

이를 통해 단일 콘다 환경에서 python과 nodejs를 결합하여 글로벌 시스템과 격리된 모든 개발 작업을 수행할 수 있습니다.

conda create --name my_env python=3.9 nodejs
conda activate my_env

# optionally, also install yarn
conda install -c conda-forge yarn

##############################################
# check it works

# python related
pip --version
python --version

# nodejs related
yarn --version
npm --version
node --version

##############################################
# verify they're inside the conda environment

# python related
which pip
which python

# nodejs related
which yarn
which npm
which node

단순한 것을 좋아하신다면 비전 미디어의 n을 정말 추천합니다. 이보다 더 쉬운 것은 없습니다!

https://github.com/visionmedia/n

언급URL : https://stackoverflow.com/questions/3653495/is-there-a-virtual-environment-for-node-js

반응형