Nodejs.orgで指定されたtarファイルからnode.jsを展開しましたが、nodeコマンドを使用してjsプログラムを実行しようとしても何も起こりませんが、nodejsコマンドを実行するとファイルが実行されます。
だから私の質問は何ですかnodeコマンドとnodejsコマンドの違い asそしてそれは私のプログラムに影響しますソースコードからビルドしなかったそしてそのiはこの矛盾の理由。
これは多くの要因に大きく依存しています。主に、シェルのnode
とnodejs
が実際に何であるかに依存します。これは、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
を上書きすることもできます。
これらの答えのいくつかは私にとって理解するのが難しかったので、私を助けてくれる答えを書きます。
node
はラジオテレメトリ解決プログラムのようなもので、最初にnode
という名前を見つけました。 nodejs
はあなたが求めているものです。そのため、次のことを確認してください。
apt-get install nodejs
次に、ラメの命名の問題を修正するために、シンボリックリンクを作成します。 node
とnodejs
の間のシンボリックリンク。
Sudo ln -s /usr/bin/nodejs /usr/bin/node
最初の部分は元のファイルの配置であり、次にリンク先です。 bashプロファイルにエイリアスを作成することもできますが、これも非常に簡単です。
確かに利用可能な「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で私に最適です。