노드 : 명령을 찾을 수 없습니다


46

node명령이 작동 하지 않는 이유를 이해하지 못하는 반면 nodejs작동합니다.

$ node --version
zsh: command not found: node
$ nodejs --version
v0.10.15

시도 apt-get install nodejs했지만 최신 버전이 이미 설치되어 있습니다.

또한 :

$ npm
zsh: command not found: npm

npmNodeJS> 0.10에 포함 되었다고 생각 했습니까?


이 게시물로 문제를 해결할 수
있을까요

@ AhmedAl-battashi 도움이되지 않습니다. 이미 읽었습니다. NodeJS가 설치된 nodejs경로에 있지만, node그리고 npm나는 내 시스템의 아무 곳을 찾을 수없는, 사용할 수 없습니다.
Matthieu Napoli

2
확실하지는 않지만 node바이너리 이름이 변경된 이유는 node(Amateur Packet Radio Node Program) 이라는 패키지 중 하나와 충돌했기 때문 입니다.
yjwong

당신은 당신이 찾고있는 것이 확실 node하지 nodejs? node당신이 생각하는 것이 아닙니다.
Braiam

@Braiam node은 내가 본 모든 튜토리얼에서 사용됩니다
Matthieu Napoli

답변:


43

node패키지는 NodeJS 관련이 없습니다. node에설치 노드 대한 정보는 여기를 참조하십시오 .

아마추어 패킷 무선 노드 프로그램 (전환 패키지)


대신 nodejs nodejs 설치패키지 를 설치해야 합니다.

sudo apt-get install nodejs

그런 다음 nodejs명령 과 함께 사용하십시오 .

그 이유는 node일 가능성이 있기 때문에 원래의 충돌입니다하지 않습니다 node위에 링크 된 패키지.


원하는 경우 npm npm 설치설치해야합니다.

sudo apt-get install npm

3
node패키지 에 대해 알고 있었지만 이름 패키지가 명령 행 도구에 어떤 영향을 미치는지 알 수 없습니다. 예를 들어 설치하지 php않지만 php5-cli. 그러나 대답 덕분에 수동 설치 npm가 문제가 될지 확신 할 수 없었습니다.
Matthieu Napoli

2
설치중인 nodejs-legacy패키지 당신이 중 하나를 사용할 수 있습니다 node또는 nodejs.
grooveplex

48

나는 이것이 약간의 문제이지만 동의하는 이유를 모르겠다.

수정

먼저 node, nodejs바이너리를 가리키는 호출에서 기호 링크를 작성하십시오 .

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

문제

Nodejs ( herehere ) 설치에 대해 찾은 꽤 많은 안내서 에는 설치가 올바르게 수행되었는지 테스트하는 비슷한 코드가 있습니다. 따라서 본질적으로 다음과 같은 간단한 서버를 만듭니다.

// hello_node.js
var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello Node.js\n');
}).listen(8124, "127.0.0.1");
console.log('Server running at http://127.0.0.1:8124/');

그런 다음 nodejs에서 다음을 실행하십시오.

node hello_node.js

그리고 npm을 사용하여 무언가를 설치하려고 할 때 실패하고 동일한 node not found메시지를 보고했습니다 .


같은 문제가 있습니다. sudo apt-get install npm 그리고 @jlouzado recomendation에 따라 작업을 완료하십시오. 이제 잘 작동
user615274

5
재미있는 팁 : 심볼릭 링크를 제공 하는 nodejs- 레거시 패키지가 있습니다.
Simón

1
@ Simón 나는 그것이 상징적 인 링크를 만드는 것보다 더 나은 해결책이라고 생각합니다.
grooveplex

이제 Node.js로 기본적으로 아무것도하지 않으면 설치해야 할 3 개의 패키지를 세고 있습니다. 한 시간 동안이 Node.js 라이브러리를 설치하려고했습니다.
sudo

설치 asciicast2gif중에 실행 node install.js되어 오류가 발생 하여 설치할 수 없습니다 sh: 1: node: not found. 이 문제가 해결되었습니다.
Vinayak

26

@ minerz029와 같이 이미 node패키지 와 충돌이 있다고 말했습니다 . 그러나 node스크립트가 node예를 들어 사용하기 때문에 여전히 명령이 필요한 경우 올바른 방법은 nodejs-legacy패키지 를 설치하는 것입니다 .

apt-get install nodejs-legacy

직접 링크를 만들지 마십시오 (특히에 없음 /usr/bin/). nodenodejs에 대한 명령을 제공합니다 .


2
효과가있다. 나는 이것이 @jlouzado의 대답보다 낫다고 생각합니다.
Shawn Xie

OS 설치로 자주 "처음부터 시작"하지 않는 한 .... bin에서 심볼릭 링크를 적절하게 관리하는 것이 좋습니다. 감사!
mike

2

이 시도

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

sudo apt-get install -y nodejs

:)


2
최신 버전을 설치하지 않는 이유는 무엇입니까? :curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
karel

setup_6.x는 안정적입니다
MUHASIN BABU

Node.js 버전 8의 LTS 정책은 현재 LTS를 보류 중이며 2017 년 10 월에 몇 달 안에 LTS가 시작되고 2019 년 4 월에 유지 관리 기간이 시작되고 2019 년 12 월에 유지 관리가 종료된다는 것입니다. 이 답변의 표를 참조하십시오 : askubuntu.com/questions/626383/…
karel

1

수동으로 설치해야 할 수도 있습니다

sudo apt-get install npm

1
나는 그것이에> v0.10 포함되어 있기 때문에 내가 수동으로 NPM 설치되지 않도록 모든 곳에서 읽기 / 내가 조금 잃었어요
마티유 나폴리

0

nvm사용자를 위한 빠른 수정 . 내가 사용 nvm(노드 버전 관리자) 나이 사용할 수 있도록 npm항상 전에 실행해야합니다 명령 npm이 명령을 nvm use 0.x(교체 0.x0.11또는 0.10예를 들어 당신이 사용하고자하는 버전).


0

minerz029에서 이미 언급했듯이 특정 버전의 nodejs패키지는 node이전에 해당 이름을 사용했던 다른 패키지로 인해 바이너리를 제공하지 않습니다 . 이 솔루션은 노드 자체 웹 사이트에서 installatoin 단계를 수행하는 것처럼 간단합니다.

패키지 관리자를 통해 Node.js 설치 | 데비안 및 우분투 기반 Linux 배포판

현재 이러한 단계는 다음과 같습니다.

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

그러나 최신 버전을 사용하고 있는지 소스 링크를 확인하는 것이 가장 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.