Programming

우분투 12.04의 nodejs와 node

procodes 2020. 2. 28. 19:38
반응형

우분투 12.04의 nodejs와 node


여기에 제공된 지침에서 우분투에 nodejs를 설치했습니다.

node --version터미널에 쓸 때 나는 이것을 본다 :
-bash: /usr/sbin/node: No such file or directory

/usr/sbin/그래도 디렉토리 에서 노드를 볼 수 있습니다 .

작문 npm --version1.3.5
작문 nodejs --versionv0.10.15

또한 /usr/bin/디렉토리 에서 노드를 볼 수 있습니다 .

어떻게 node일을합니까?

또한 bash 대신 zsh사용하면 node명령이 작동합니다.


symlink를 수동으로 작성해야합니다 /usr/bin/node. bash 호환 쉘의 단축키 :

sudo ln -s `which nodejs` /usr/bin/node

또는 비표준 쉘을 사용하는 경우 찾은 경로를 하드 코딩하십시오 which nodejs.

sudo ln -s /usr/bin/nodejs /usr/bin/node

나중에 편집

귀하가 게시 한 링크에서이 설명을 찾았습니다

노드 패키지 (Amateur Packet Radio Node Program)와 이름이 충돌하고 nodejs 바이너리의 이름이 node에서 nodejs로 변경되었습니다. / usr / bin / node를 / usr / bin / nodejs에 심볼릭 링크하거나 아마추어 패킷 라디오 노드 프로그램을 제거하여 충돌을 피할 수 있습니다.

나중에 편집

내가 이것에 대답 한 지 오래되었습니다. 여기에 게시 한 솔루션이 여러 번 효과가 있었지만 사용자는 주석 내에 몇 가지 솔루션을 더보고했습니다.

@ user229115에서

sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10

AskUbuntu (사용자 왼쪽)

sudo apt-get --purge remove node
sudo apt-get --purge remove nodejs
sudo apt-get install nodejs

나는 이것이 생각합니다 :

sudo 업데이트 대안 --install / usr / bin / node 노드 / usr / bin / nodejs 10

데비안 대안 사용하기.


분명히 해결책은 우분투 버전마다 다릅니다. 다음은 우분투 13.10에서 나를 위해 일했습니다.

sudo apt-get install nodejs-legacy

HTH

편집 : 경험 법칙 :

바이너리를 설치 nodejs했지만 누락 된 경우 /usr/bin/nodeinstall도 설치하십시오 nodejs-legacy. 이것은 누락 된 소프트 링크를 만듭니다.

내 테스트에 따르면 Ubuntu 17.10 이상은 이미 설치된 /usr/bin/node호환성 소프트 링크가 이미 nodejs설치되어 있으므로 nodejs-legacy더 이상 필요하지 않으므로이 릴리스에서 누락되었습니다.


우분투 14.04에서도 같은 문제가 있습니다.

"nodejs"를 설치했는데 작동하지만 "nodejs"명령을 사용하는 경우에만 작동합니다. "노드"를 사용하려고하면 아무 일도 일어나지 않습니다.

다음 방법으로이 문제를 해결했습니다.

  1. nodejs-legacy 설치

    sudo apt-get 설치 nodejs-legacy

그 후 명령 줄에 "node"를 입력하면 "/ usr / sbin / node : No such file or directory"라는 오류 메시지가 나타납니다.

  1. 둘째, 내가 한 것은 "nodejs"의 심볼릭 링크입니다.

    sudo ln -s / usr / bin / nodejs / usr / sbin / node

이것은 나에게도 일어났다.

node -v => 0.10.2
nodejs -v => 5.5.0

문제는 얼마 전에 소스에서 노드를 설치했다는 것입니다. 달리는

which node

항상이 로컬 설치를 가리 켰습니다. 또한,

echo NODE_PATH

로컬 설치를 가리 켰습니다.

소스 설치로 디렉토리를 삭제해도 도움이되지 않습니다. 방금 node 명령을 중단했습니다. 결국 NODE_PATH 환경 변수를 설정 해제하고 nodejs를 제거했다가 다시 설치하면 문제가 해결되었습니다.

unset NODE_PATH
sudo apt-get --purge remove nodejs
sudo apt-get install nodejs

금후,

node -v => 5.5.0

npm 설치는 Node => 5.0에 따라 패키지에서 작동하기 시작했습니다.


나는이 모든 것을 처음 사용하지만 간단한 별칭이 작동했습니다.

alias node='env NODE_NO_READLINE=1 rlwrap nodejs'

적어도 bash에서 직접 실행하고 .js 파일을 실행하는 경우.


노드 버전 관리자 (nvm)

여러 nodejs 버전을 설치하고 쉽게 전환하려면 Node Version Manger를 사용하는 것이 좋습니다 . 또한 명명 문제를 해결합니다 ( nodevs nodejs)

아주 간단합니다 :

nodejs 버전을 설치하십시오.

$ nvm install 4.4

이제 이미 설치된 버전 외에 nodejs 4.4가 있으며 node명령을 사용 하여 새로 설치된 버전에 도달 할 수 있습니다 .

$ node -v    // The new version added by nvm.
v4.4.5
$ nodejs -v  // The OS version is untouched and still available.
v0.10.25

더 많은 nodejs 버전을 설치하고 쉽게 전환 할 수 있습니다.

$ nvm install 6.2
$ nvm use 6.2
Now using node v6.2.1 (npm v3.9.3)
$ node -v
v6.2.1
$ nvm use 4.4
Now using node v4.4.5 (npm v2.15.5)

nodejs 사이트 의 공식 지침을 사용하는 방법은 무엇입니까 ?

v7의 경우 :

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs

v6의 경우 :

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs

v4의 경우 :

curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs

Windows bash (Linux-14.04의 하위 시스템을 통해)와 raspbian (ARM Debian 기반)에서 이것을 테스트했습니다. sudo apt-get install -y nodejs설정 스크립트를 먼저 실행 하지 않고 실행하면 노드 0.10이 발생합니다.

빌드가 필요한 기본 npm 모듈을 설치하려는 경우 다음을 실행하십시오.

sudo apt install -y build-essential

참고 : 모든 아키텍처에서 데비안 기반 배포판에 권장되는 경로입니다.


@randunel의 정답에 추가 (아직 SO에 대해 언급 할 수 없음) :

또한 / usr / local / bin / node를 / usr / bin / nodejs에 symlink해야했습니다.

sudo ln -s /usr/bin/nodejs /usr/local/bin/node

분명히 이것은 / usr / bin / node 명령을 무시하고있었습니다.

그것이 어떻게 설정되었는지는 모르지만 위의 내용이 왜 효과가 없는지 알아내는 것이 고통 이었기 때문에 다른 사람에게 도움이되기를 바랍니다.


최신 답변이지만 최신 정보는 ...

node github installation readme 의 권장 방법을 사용하여 node.js를 설치하는 경우 오래된 apt-get repo에서 설치하는 대신 nodesource 블로그 기사 의 지침을 따르는 것이 좋습니다. node.js 는 다음 명령을 사용하여 실행해야합니다 node. nodejs새로운 심볼릭 링크를 만들 필요없이 명령 뿐만 아니라 .

이 기사의 방법은 다음과 같습니다.

# Note the new setup script name for Node.js v0.12
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -

# Then install with:
sudo apt-get install -y nodejs

이것은 v0.12 용이며 먼 미래에는 구식이 될 것입니다.

또한 나와 같은 회사 프록시 뒤에있는 경우 sudo 명령에 -E 옵션을 추가하여 프록시에 필요한 env 변수를 유지하려고합니다.

curl -sL https://deb.nodesource.com/setup_0.12 | sudo -E bash -


이것은 나를 위해 작동합니다 :

alias node=nodejs

링크 의 지침을 따른 후 .


Ubuntu 인스턴스를 실행하는 AWS EC2 인스턴스 (Ubuntu 16.x에서 테스트)에있는 경우 다음 단계가 도움이 될 수 있습니다.

    sudo apt-get 업데이트
    sudo apt-get --purge remove node -y
    sudo apt-get --purge remove nodejs -y
    sudo apt-get-레거시 노드 제거 제거 -y
    sudo rm / usr / bin / node
    curl -sL https://deb.nodesource.com/setup_6.x | sudo bash-
    sudo apt-get 설치 nodejs -y
    노드 -v

모든 것이 정확하면 마지막 명령은 다음과 같은 출력을 가져야합니다 : v6.xx

그렇지 않으면 다음을 실행하십시오.

    sudo ln -s / usr / bin / nodejs / usr / bin / node

잘하면 이것이 도움이 될 것입니다. 그것은 나를 마술처럼 도와주었습니다.


sudo ln -s / usr / bin / nodejs / usr / bin / node sudo npm install -g phantomjs-prebuilt 후 동일한 문제가 있습니다.

부드럽게 갔다


nodejs를 설치하는 가장 좋은 방법은 NVM (Node Version Manager)을 사용하는 것입니다.

이전 버전 삭제 :

$ sudo apt-get 퍼지 노드
$ sudo apt 자동 제거

또한 $ sudo rm -rf node_modules이 폴더를 포함하는 디렉토리에서 모든 node_modules를 삭제하십시오 .

Node & Nodejs는 기술적으로 같은 것입니다. 이름 만 바뀌 었습니다.

먼저 nvm 설치 또는 업데이트

루트로 실행

$ sudo su 

그때

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | 세게 때리다

또는

$ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | 세게 때리다

경로를 확인하기 위해 nvm 확인

$ 소스 ~ / .profile
$ nvm ls- 원격

목록과 관련하여 오류가 발생하면 git을 설치하십시오.

$ sudo apt-get 설치 git

재실행 :

$ nvm ls- 원격
또는
$ sudo nvm ls- 원격

$ nvm 설치 버전-필요 

버전 확인

# node --version
nvm 사용 버전 필요

정보 제공 :

https://www.digitalocean.com/community/tutorials/how-to-install-node-js-with-nvm-node-version-manager-on-a-vps


심볼릭 링크를 만들었지 만 여전히 작동하지 않습니다.

터미널을 다시 시작하는 것을 잊었습니다 (퍼티 연결). 내가 symlink없이 일한 후에 :)


절대 초보자에게 도움이 될 것입니다

대답이 있지만 node매개 변수가없는 명령이 REPL read-eval-print-loop 모드에서 원시 Javascript 코드를 실행하기 위해 노드를 시작 한다는 점을 지적하고 싶었습니다 .

node명령 을 사용하는 다른 방법 js파일을 매개 변수로 제공하는 것 입니다. 이것이 우리가 주로 사용하는 방법입니다.


기존 노드와 nodejs를 제거하는 것은 선택 사항이지만 최신 7.x nodejs를 대신 설치해야합니다.

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs

그냥 사용 NVM (노드 버전 관리자) - https://github.com/creationix/nvm

Node.js 관리의 표준이되었습니다.

새 버전이 필요한 경우 :

nvm install NEW_VER
nvm use XXX

무언가 잘못되면 항상 다시 갈 수 있습니다

nvm use OLD_VER

이 명령을 실행하여 nodejs를 활성화 할 수 있습니다.

scl enable rh-nodejs8 bash

참고 : 노드 버전을 확인하십시오.

출처 : https://developers.redhat.com/products/softwarecollections/hello-world/


https://nodejs.org/en/download/

Download .pkg file on your mac and install it. it directly works.

➜  ~ which node
/usr/local/bin/node
➜  ~ node --version
v10.11.0
➜  ~ which npm
/usr/local/bin/npm
➜  ~ npm --version
6.4.1

참고 URL : https://stackoverflow.com/questions/18130164/nodejs-vs-node-on-ubuntu-12-04



반응형