node:コマンドが見つかりません


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に含まれていると思いましたか?


この投稿があなたの問題を解決するかもしれません[Stackoverflow] [1] [1]:stackoverflow.com/questions/13593902/node-command-not-found
Ahmed Al-battashi 14年

@ AhmedAl-battashi助けにはならない、すでに読んだ。NodeJSは、インストールされているnodejsPATHにありますが、nodenpm私は私のシステム上の任意の場所にそれらを見つけることができない、利用できません。
マチューナポリ

2
完全には定かではありませんが、nodeバイナリの名前が変更された理由は、node(Amateur Packet Radio Node Program)と呼ばれるパッケージの1つと競合したためだったことを思い出します。
イジョン14年

探しているのnodeではなく、探しているのnodejsですか?nodeそれはあなたが思っていることではありません。
Braiam 14年

@Braiamは、node私が見てきたすべてのチュートリアルで使用されている
マチューナポリ

回答:


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が問題になるかどうかはわかりませんでしたが、明らかにそうではありません。
マチューナポリ

2
nodejs-legacyパッケージをインストールすると、nodeまたはのいずれかを使用できます nodejs
-grooveplex

48

私は同意します、これは少し問題ですが、なぜそれが起こっているのか分かりません。

修正

まず最初に、呼び出さnodeれたnodejsバイナリを指すシンボリックリンクを作成します。

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

問題

Nodejsをインストールするために見つけたかなりの数のガイド(ここここ)には、インストールが正しく行われたかどうかをテストするための同様のコードがあります。基本的に次のような単純なサーバーを作成します。

// 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メッセージを報告していました。


同じ問題があります。sudoapt-get install npmを実行してから、@ jlouzadoの推奨に従って作業を完了します。今はうまく機能しています
-user615274

5
面白いヒント:まだ依存している「レガシーコード」との互換性のために、シンボリックリンクを提供するnodejs-legacyパッケージがあります。
シモン

1
@Simónシンボリックリンクを作成するよりも優れたソリューションだと思います。
グルーブプレックス

したがって、基本的にNode.jsで何かをしている場合、インストールする必要がある3つのパッケージをカウントしています。この1つのNode.jsライブラリを1時間ほどインストールしようとしています。
須藤

インストールasciicast2gif中に実行されnode install.js、エラーが発生するため、インストールできませんでしたsh: 1: node: not found。これで修正されます。
ビナヤック

26

@ minerz029が既に言ったように、nodeパッケージとの競合があります。ただし、nodeコマンドがまだ必要な場合(nodeたとえば、スクリプトでのみ使用されるため)、正しい方法はnodejs-legacyパッケージをインストールすることです。

apt-get install nodejs-legacy

独自にシンボリックリンクを作成しないでください(特ににない/usr/bin/)。これによりnode、nodejsのコマンドが提供されます。


2
できます。これは@jlouzadoの答えよりも優れていると思います。
ショーン謝

OSインストールで頻繁に「ゼロから開始」しない限り... binでaptがシンボリックリンクを管理できるようにする方がはるかに良いでしょう。ありがとう!
マイク

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 -
カレル・

setup_6.xは安定しています
ムハシンバブ

Node.jsバージョン8のLTSポリシーでは、現在LTSが保留中であり、2017年10月に数か月でLTSになり、2019年4月にメンテナンス期間を開始し、2019年12月にメンテナンスを終了します。この回答の表を参照してください。askubuntu.com/questions/626383/...
カレル・

1

手動でインストールする必要がある場合があります

sudo apt-get install npm

1
私は、それが> v0.10に含まれていたので、私は手動でNPMインストールしてはならないことをどこにでも読み:/私は失わ少しだ
マチューナポリ

0

nvmユーザー向けの簡単な修正。私が使用してnvm(ノードバージョンマネージャ)と私が使用するためにnpm、私は常に前に発行しなければならないコマンドnpmは、このコマンドをnvm use 0.x(置き換える0.x0.110.10、例えば使用したいバージョン)。


0

minerz029が既に言及したように、nodejsパッケージの特定のバージョンは、node以前にその名前を使用していた別のパッケージが原因でバイナリを提供しません。解決策は、ノード独自のWebサイトでインストール手順を実行するだけです。

パッケージマネージャーを介したNode.jsのインストール| DebianおよびUbuntuベースの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.