MacOS X에 Node.js, nvm 및 npm을 설치하는 권장 방법은 무엇입니까?
저는 가능한 한 홈브루를 사용하려고 노력하고 있습니다.MacOS X에 Node.js 및 npm을 설치하는 권장 방법은 무엇입니까?
용사를 합니다.
homebrew
nvm
:brew update brew install nvm source $(brew --prefix nvm)/nvm.sh
를 막지명에니다에 합니다.
.profile
,.bashrc
또는.zshrc
모든 터미널 시작 시 다시 실행하지 않는 파일입니다., 그을에는하가것래▁the것▁it▁so▁add..profile
선택사항:echo "source $(brew --prefix nvm)/nvm.sh" >> ~/.profile
하는 데 가 있는
nvm
용사를brew
수동으로 설치할 수 있습니다(여기 참조).용사를 합니다.
nvm
node
또는iojs
할 수 설치할 수 있습니다.)nvm install 0.10 # or nvm install iojs-1.2.0
npm
과 함께 배송 입니다.node
(또는)iojs
), 을한 후 할 수node
(또는)iojs
버전으로 할 수$ npm install -g npm@latest
UPD 이전 버전은 입니다.올바른 방법을 알려준 @Metalica에게 감사합니다(아래 설명 참조).
용사를 합니다.
npm
ionic
:npm install -g ionic
때어는?
ngCordova
사용하여 할 수 .npm
또는bower
어떤 버전이 당신에게 더 적합한지 모르겠습니다. 고객 측에서 사용하고자 하는 패키지 관리자에 따라 다릅니다.그래서 저는 두 가지를 모두 설명하겠습니다.사용 : 프로젝트 폴더로 이동하여 설치
ng-cordova
그 안에서:npm install --save ng-cordova
사용: 타워 설치:
npm install -g bower
하여 그런다프트폴이설동치다니합여하를 설치합니다.
ngCordova
그 안에서:bower install --save ngCordova
PS
- 일부 명령에는 슈퍼 사용자 권한이 필요할 수 있습니다.
- 의 짧은
npm install some_module
이라npm i some_module
사용하다nvm
Homebrew는 Node.js입니다.
은 다음과 같습니다.nvm
홈브루를 사용하는 것입니다.
이러지마세요.
nvm
Github Readme은 분명히 말합니다.
홈브루 설치는 지원되지 않습니다. 설치에 ㅠㅠㅠㅠㅠㅠㅠ
nvm
,부탁합니다.brew uninstall
문제를 제기하기 전에 아래 지침에 따라 설치합니다.
대신 다음 방법을 사용합니다.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
를 이립트는 nvm 복합니로 합니다.~/.nvm
프로필에 합니다.~/.bash_profile
,~/.zshrc
,~/.profile
또는~/.bashrc
).
그런 다음 사용합니다.nvm
노드를 설치합니다.예를 들어 최신 LTS 버전을 설치하려면 다음을 수행합니다.
nvm install 16
깔끔하고 번거롭지 않습니다.기본 Node.js 버전으로도 설정되므로 모든 설정이 완료되어야 합니다.
n(노드 버전 관리)을 사용하고 있습니다.
두 가지 방법으로 설치할 수 있습니다.
brew install n
또는
npm install -g n
다른 버전의 노드와 io 간에 전환할 수 있습니다.다음은 현재 환경에서 param 없이 n을 호출할 때의 예입니다.
$ n
io/3.3.1
node/0.12.7
node/4.0.0
node/5.0.0
ο node/5.10.1
나는 이것에 매우 늦었지만 나는 다른 대답들이 마음에 들지 않았습니다.
홈브루 설치 중
브루 런용
"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
노드 및 npm 설치 중
사용하면 안 됩니다.brew
노드 및 npm을 설치합니다.
홈브루를 사용하여 노드를 설치해야 한다고 제안한 곳을 몇 군데 보았습니다(예: 알렉스팟 답변 및 이 Team Treehouse 블로그 게시물). 그러나 이러한 방식으로 설치하면 다음과 같은 문제에 더 쉽게 직면할 수 있습니다.npm
그리고.brew
둘 다 패키지 관리자이며 패키지 관리자가 다른 패키지 관리자를 관리하도록 해야 합니다. 예를 들어 이 버그는 공식 npm 문제로 이어집니다. 오류: 삭제 거부: /usr/local/bin/npm 또는 OSX에서 npm 모듈을 제거할 수 없습니다.
Dan Herbert의 포스트 Npm On Mac OS X for Homebrew Users에서 이 주제에 대한 자세한 내용을 읽을 수 있습니다.
또한 npm의 Homebrew 설치를 사용하려면 글로벌 패키지를 설치할 때 sudo를 사용해야 합니다.홈브루의 핵심 아이디어 중 하나는 앱이 루트 액세스 권한을 부여하지 않고 설치될 수 있다는 것이기 때문에, 이것은 나쁜 생각입니다.
다른 모든 것을 위해
저는 npm을 사용하고 싶습니다. 하지만 웹 사이트의 지침에 따라 각 모듈에 대한 설치 지침을 따라야 합니다. 그들은 그들이 가지고 있는 문제나 버그를 누구보다 더 잘 알 수 있기 때문입니다.
이전에 brew를 사용하여 노드를 설치한 경우 노드를 "적절한 방법"으로 설치하기 전에 정리해야 하는 추가 파일이 많이 있습니다.또한 원활한 작업을 위해 시작 스크립트에 몇 가지 설정을 추가해야 했습니다.
저는 이것을 쉽게 하기 위해 대본을 썼습니다.
# filename: install-nvm-npm-node
# author: Lex Sheehan
# purpose: To cleanly install NVM, NODE and NPM
# dependencies: brew
NOW=$(date +%x\ %H:%M:%S)
CR=$'\n'
REV=$(tput rev)
OFF=$(tput sgr0)
BACKUP_DIR=$HOME/backups/nvm-npm-bower-caches/$NOW
MY_NAME=$(basename $0)
NODE_VER_TO_INSTALL=$1
if [ "$NODE_VER_TO_INSTALL" == "" ]; then
NODE_VER_TO_INSTALL=v0.12.2
fi
if [ "`echo "$NODE_VER_TO_INSTALL" | cut -c1-1`" != "v" ]; then
echo """$CR""Usage: $ $MY_NAME <NODE_VERSION_TO_INSALL>"
echo "Example: $ $MY_NAME v0.12.1"
echo "Example: $ $MY_NAME $CR"
exit 1
fi
echo """$CR""First, run: $ brew update"
echo "Likely, you'll need to do what it suggests."
echo "Likely, you'll need to run: $ brew update$CR"
echo "To install latest node version, run the following command to get the latest version: $ nvm ls-remote"
echo "... and pass the version number you want as the only param to $MY_NAME. $CR"
echo "Are you ready to install the latest version of nvm and npm and node version $NODE_VER_TO_INSTALL ?$CR"
echo "Press CTL+C to exit --or-- Enter to continue..."
read x
echo """$REV""Uninstalling nvm...$CR$OFF"
# Making backups, but in all likelyhood you'll just reinstall them (and won't need these backups)
if [ ! -d "$BACKUP_DIR" ]; then
echo "Creating directory to store $HOME/.nvm .npm and .bower cache backups: $BACKUP_DIR"
mkdir -p $BACKUP_DIR
fi
set -x
mv $HOME/.nvm $BACKUP_DIR 2>/dev/null
mv $HOME/.npm $BACKUP_DIR 2>/dev/null
mv $HOME/.bower $BACKUP_DIR 2>/dev/null
{ set +x; } &>/dev/null
echo "$REV""$CR""Uninstalling node...$CR$OFF"
echo "Enter your password to remove user some node-related /usr/local directories"
set -x
sudo rm -rf /usr/local/lib/node_modules
rm -rf /usr/local/lib/node
rm -rf /usr/local/include/node
rm -rf /usr/local/include/node_modules
rm /usr/local/bin/npm
rm /usr/local/lib/dtrace/node.d
rm -rf $HOME/.node
rm -rf $HOME/.node-gyp
rm /opt/local/bin/node
rm /opt/local/include/node
rm -rf /opt/local/lib/node_modules
rm -rf /usr/local/Cellar/nvm
brew uninstall node 2>/dev/null
{ set +x; } &>/dev/null
echo "$REV""$CR""Installing nvm...$CR$OFF"
echo "++brew install nvm"
brew install nvm
echo '$(brew --prefix nvm)/nvm.sh'
source $(brew --prefix nvm)/nvm.sh
echo "$REV""$CR""Insert the following line in your startup script (ex: $HOME/.bashrc):$CR$OFF"
echo "export NVM_DIR=\"\$(brew --prefix nvm)\"; [ -s \"\$NVM_DIR/nvm.sh\" ] && . \"\$NVM_DIR/nvm.sh\"$CR"
NVM_DIR="$(brew --prefix nvm)"
echo """$CR""Using nvm install node...$CR"
echo "++ nvm install $NODE_VER_TO_INSTALL"
nvm install $NODE_VER_TO_INSTALL
NODE_BINARY_PATH="`find /usr/local/Cellar/nvm -name node -type d|head -n 1`/$NODE_VER_TO_INSTALL/bin"
echo "$REV""$CR""Insert the following line in your startup script (ex: $HOME/.bashrc) and then restart your shell:$CR$OFF"
echo "export PATH=\$PATH:$NODE_BINARY_PATH:$HOME/.node/bin"
echo """$CR""Upgrading npm...$CR"
echo '++ install -g npm@latest'
npm install -g npm@latest
{ set +x; } &>/dev/null
echo "$REV""$CR""Insert following line in your $HOME/.npmrc file:$OFF"
echo """$CR""prefix=$HOME/.node$CR"
echo "Now, all is likley well if you can run the following without errors: npm install -g grunt-cli$CR"
echo "Other recommended global installs: bower, gulp, yo, node-inspector$CR"
저는 왜 이것이 "올바른 방법"인지 자세히 설명하는 짧은 기사를 여기에 썼습니다.
iojs를 설치해야 하는 경우 다음과 같이 nvm을 사용하여 설치합니다.
nvm install iojs-v1.7.1
양조장을 설치하려면 홈 페이지를 참조하십시오.
나머지는 알렉스팟의 답변을 참조하십시오.
글로벌 패키지를 설치할 때 superuser 권한을 제공할 필요가 없으므로 node.js를 nvm과 함께 설치해야 합니다('sudo' 앞에 추가하지 않고 "npm install -g package name"만 실행할 수 있음).
하지만 브루는 다른 것들에 환상적입니다.저는 바우어와 함께 무언가를 설치할 수 있는 옵션이 있을 때마다 바우어에게 치우치는 경향이 있습니다.
제가 하는 일은 다음과 같습니다.
curl https://raw.githubusercontent.com/creationix/nvm/v0.20.0/install.sh | bash
cd / && . ~/.nvm/nvm.sh && nvm install 0.10.35
. ~/.nvm/nvm.sh && nvm alias default 0.10.35
이것은 홈브루가 없습니다.
nvm
곧 io.js를 지원할 예정이지만 게시 시점에는 지원하지 않습니다. https://github.com/creationix/nvm/issues/590
그런 다음 프로젝트별로 다른 모든 것을 설치합니다.package.json
그리고.npm install
.
noa에 동의합니다. 여러 버전이 필요한 경우node
,io.js
양조는 적절한 해결책이 아닙니다.
베타 테스트를 도와드릴 수 있습니다.io.js
nvm에서 지원: https://github.com/creationix/nvm/pull/616
네가 원한다면,io.js
있는 에는 이항 분포를 설치할 수 .io.js
https://iojs.org/dist/v1.0.2/iojs-v1.0.2-darwin-x64.tar.gz 에서; 다음을 포함합니다.npm
그리고 당신은 필요하지 않을 것입니다.nvm
버전을 전환하지 않는 경우.
업트해야함 업데이트하는 것을 하세요.npm
후: 설치후:sudo npm install -g npm@latest
zsh 및 Homebrew와 함께 설치하는 경우:
brew install nvm <=== This is not recommended by NVM. They want to run their shell script instead
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
그런 다음 ~/.zshrc 또는 원하는 셸 구성 파일에 다음을 추가합니다.
export NVM_DIR="$HOME/.nvm"
. "/usr/local/opt/nvm/nvm.sh"
그런 다음 노드 버전을 설치하고 사용합니다.
nvm install 7.10.1
nvm use 7.10.1
2021년 업데이트
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
MAC 문제 해결:
macOS 10.15 이후 기본 셸은 zsh이고 nvm은 업데이트할 .zshrc를 찾지만 기본적으로 설치되지 않습니다.~/.zshrc 터치로 생성한 후 설치 스크립트를 다시 실행합니다.
이전 기본 셸인 bash를 사용하는 경우 touch ~/.bash_profile을 실행하여 필요한 프로파일 파일이 없는 경우 생성합니다.
터미널 인스턴스를 다시 시작하거나 . ~/.nvm/nvm.sh 을 실행해야 할 수 있습니다.터미널을 다시 시작하거나 새 탭/창을 열거나 source 명령을 실행하면 명령과 새 구성이 로드됩니다.
이전에 bash를 사용했지만 zsh가 설치되어 있습니다.이러한 줄을 ~/.zshrc에 수동으로 추가하고 ~/.zshrc를 실행해야 합니다.
언급URL : https://stackoverflow.com/questions/28017374/what-is-the-recommended-way-to-install-node-js-nvm-and-npm-on-macos-x
'programing' 카테고리의 다른 글
원격 Git 저장소에서 마지막 커밋 제거 (0) | 2023.05.08 |
---|---|
가상 환경을 이동할 수 있습니까? (0) | 2023.05.08 |
분기를 헤드로 빠르게 전달하는 방법 (0) | 2023.05.08 |
Excel VBA를 사용하여 워크북에서 모든 일치 항목 찾기 (0) | 2023.05.08 |
파이썬을 컴파일하는 동안 --enable-optimization은 무엇을 합니까? (0) | 2023.05.08 |