NVM 및 Node.js-모든 사용자에게 권장되는 설치
모든 사용자가 사용할 수 있도록 nvm에 대한 권장 설치가 있습니까? 나는 이것과 관련하여 웹에서 아무것도 찾을 수 없습니다.
이것이 내가 한 일이다
- 공통 디렉토리에 설치된 nvm
- 모든 사용자에 대해 nvm.sh 스크립트 위치를 .profile에 넣습니다.
- nvm / alias 디렉토리를 생성했습니다 (다른 사용자가 여기에 없으면 nvm이 불평 함).
그런 다음 각 사용자는 "nvm use"를 실행하거나 기본적으로 프로필에 입력해야합니다.
더 나은 방법이 있는지 확실하지 않습니까?
감사
내가 한 일은 다음과 같습니다.
루트로 설치
nvm
되었습니다/opt/nvm
. 적절한 위치처럼 보였습니다.# git clone git@github.com:creationix/nvm.git /opt/nvm
디렉토리를 만들었습니다
/usr/local/nvm
. 여기에서 다운로드가 진행됩니다 ($NVM_DIR
).# mkdir /usr/local/nvm
디렉토리를 만듭니다
/usr/local/node
. 이것은 NPM 글로벌 물건이 갈 곳입니다.# mkdir /usr/local/node
라는 파일 생성
nvm.sh
에/etc/profile.d
다음과 같은 내용을 :export NVM_DIR=/usr/local/nvm source /opt/nvm/nvm.sh export NPM_CONFIG_PREFIX=/usr/local/node export PATH="/usr/local/node/bin:$PATH"
셸 세션에 다시 로그인 한 다음 기본 노드 버전을 설정합니다.
# nvm install 0.10 # nvm alias default 0.10
노드 바이너리는 이제 PATH
다음에 쉘 세션에 로그인 할 때 모든 사용자의 에 있어야합니다 . NPM은 /usr/local/node
접두사에 전역 항목을 설치 합니다.
다른 사용자가 액세스 할 수 있도록 노드 사본 하나를 전역 적으로 설치하는 것이 가장 좋습니다. 이렇게하려면 다음 명령을 실행합니다 (프롬프트에서 사용자의 암호를 입력).
n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr/local
이것은 nvm을 통해 활성화 된 노드의 버전을 /usr/local/
디렉토리에 복사 하고 모든 사용자가 액세스 할 수 있도록 권한을 설정하는 것입니다.
작동하는지 확인하려면 루트 사용자가되어 다른 which 명령을 수행하여 노드가 현재 설치되었는지 확인하십시오 /usr/local/bin
.
sudo -s
which node
시스템 전체에 설치된 노드의 버전을 변경하려면 다른 nvm에서 vXX.XX.XX를 사용하여 사용자 노드를 원하는 버전으로 전환 한 다음 위의 첫 번째 명령을 다시 실행하여 시스템 디렉토리.
- 루트로 로그인 :
sudo -s
- nvm을 설치합니다.
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | NVM_DIR=/usr/local/nvm bash
- 라는 파일 생성
nvm.sh
에/etc/profile.d
다음과 같은 내용을 :#!/usr/bin/env bash export NVM_DIR="/usr/local/nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
- 운영
/etc/profile.d/nvm.sh
- 노드 설치 :
nvm install node
- 선택적으로 다음으로 npm을 업데이트합니다.
npm install -g npm
LJHarb는 이것을 전역 적으로 설치하지 않을 것을 권장하기 때문에 서버에 로그인 할 때 nvm을 설치하는 스크립트를 작성하기로 결정했습니다. 로그인 할 수있는 여러 사용자 설정이 있었지만 pm2에 대한 액세스 권한 이 필요했기 때문에 이것이 필요했습니다 (애플리케이션 중 하나를 모니터링하기 위해).
/etc/profile.d/에 스크립트를 만듭니다 (예 : nvm.sh 이름).
#!/bin/bash
NODE_VER=6.2.2
if [ ! -f ~/.nvm/nvm.sh ]; then
# May need to be updated with the latest nvm release
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
fi
source ~/.nvm/nvm.sh
if ! command -v node | grep -q $NODE_VER; then
echo "Node is not installed"
nvm install $NODE_VER
nvm alias default $NODE_VER
fi
우리의 응용 프로그램에는 사용자간에 공유되는 pm2가 필요했습니다.
if ! command -v pm2 &>/dev/null; then
echo "pm2 not installed"
npm install -g pm2
fi
# Share pm2 configuration between users
alias pm2='env HOME=/opt/sora pm2'
There is also this fork of nvm designed for global usage: https://github.com/xtuple/nvm
wget -qO- https://raw.githubusercontent.com/xtuple/nvm/master/install.sh | sudo bash
sudo chown -R $USER /usr/local/nvm
nvm install 8
Update : I tried various ways to use xtuple's nvm and also n to manage a global node environment and I always ran into edge cases where there were issues. In the end what worked best for me was to download a few versions of node from their website and uncompress them to /usr/local. Then update my path with the version I want. e.g.
export PATH=/usr/local/node-v7.10.1-linux-x64/bin:$PATH
Note: You will probably have to chmod 777 the node path or dedicate one user to mange it.
ReferenceURL : https://stackoverflow.com/questions/11542846/nvm-node-js-recommended-install-for-all-users
'programing' 카테고리의 다른 글
jQuery를 사용하여 매개 변수가있는 URL 구성 (0) | 2021.01.14 |
---|---|
데이터베이스 'master'에서 CREATE DATABASE 권한이 거부되었습니다 (EF 코드 우선). (0) | 2021.01.14 |
Android 스마트 앱 배너 만들기 (0) | 2021.01.14 |
D3, 중첩 된 추가 및 데이터 흐름 (0) | 2021.01.14 |
Windows에서 forever 모듈을 사용하여 Node.js 애플리케이션을 중지하는 방법은 무엇입니까? (0) | 2021.01.14 |