web-dev-qa-db-ja.com

ターミナルでのnode vs nodejsコマンドの違いは何ですか?

Nodejs.orgで指定されたtarファイルからnode.jsを展開しましたが、nodeコマンドを使用してjsプログラムを実行しようとしても何も起こりませんが、nodejsコマンドを実行するとファイルが実行されます。

だから私の質問は何ですかnodeコマンドとnodejsコマンドの違い asそしてそれは私のプログラムに影響しますソースコードからビルドしなかったそしてそのiはこの矛盾の理由。

29
Aditeya Pandey

これは多くの要因に大きく依存しています。主に、シェルのnodenodejsが実際に何であるかに依存します。これは、type node/type nodejsおよび/またはwhich node/which nodejs(またはwhereis)を使用して確認できます。これはalsoはOSとシェルに依存します。

私の推測では、which -a node/usr/sbin/nodeを生成し、これはnot nodejs実行可能ファイルであるため、ノードコードを実行しない理由です。私のシステムでは、次のとおりです。

/usr/bin/node -> /etc/alternatives/node -> /usr/bin/nodejs

つまり、nodeは、実行可能ファイルであるnodejsへの単なるシンボリックリンクです。

このエイリアスを自分で作成して、nodeを上書きすることもできます。

19
Explosion Pills

これらの答えのいくつかは私にとって理解するのが難しかったので、私を助けてくれる答えを書きます。

nodeはラジオテレメトリ解決プログラムのようなもので、最初にnodeという名前を見つけました。 nodejsはあなたが求めているものです。そのため、次のことを確認してください。

apt-get install nodejs

次に、ラメの命名の問題を修正するために、シンボリックリンクを作成します。 nodenodejsの間のシンボリックリンク。

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

最初の部分は元のファイルの配置であり、次にリンク先です。 bashプロファイルにエイリアスを作成することもできますが、これも非常に簡単です。

11
Eric Prostko

確かに利用可能な「node」パッケージはnodejsに関連していません。

ここからこのノードを見てください:

https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager

ノードパッケージ(Amateur Packet Radio Node Program)と名前の競合があり、nodejsバイナリの名前がnodeからnodejsに変更されました。/usr/bin/nodeをシンボリックリンクする必要があります。/usr/bin/nodejsに移動するか、アマチュアパケットラジオNodeプログラムをアンインストールして、競合を回避できます。

だから、あなたはそのラジオ番組を

dpkg --purge node

そして、一般的な方法の1つを介してnodejsをインストールします次のように利用可能なプリコンパイルされたdebパッケージから:

Sudo apt-get update
Sudo apt-get install -y python-software-properties python g++ make
Sudo add-apt-repository ppa:chris-lea/node.js
Sudo apt-get update
Sudo apt-get install nodejs

ただし、nodejsはパッケージよりも速く更新されるため、nodejsバージョンを入手した後は、nodejsバージョンの管理にこのモジュールを使用する方が効率的です (https://github.com/visionmedia/ n

少なくともいくつかのテストの後、このソリューションはMac OSで私に最適です。

2