nodeとnodejsのバージョンが異なります


15

これらのコマンドを使用して、ノードjsの最新バージョンを正常に更新/インストールします(curl私にとっては公式な方法ではありません):

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/node

しかし、私のノードとnodejsのバージョンは異なります:

$ node --version
v5.0.0
$ nodejs --version
v0.10.25

新しいノードがインストールされている/usr/local/bin/nodeようですので、私は試しました:

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

しかし、それは返します:

ln: failed to create symbolic link ‘/usr/local/bin/node’: File exists

私もこのリンクを使用します:

$ sudo ln -s /usr/bin/nodejs /usr/bin/node
ln: failed to create symbolic link ‘/usr/bin/node’: File exists

私はに依存して、いくつかのフレームワークを使用するnodeように、Ionic。どのノードバージョンを使用しますか?

これを解決するにはどうすればよいですか?

ご協力ありがとうございます


本当の問題は、IMOの私が言うんnは両方とも、既存のノードのバージョンとシンボリックリンクを上書きする方法、であるnodejsnodenでインストールされたバイナリに。そして、nがそうすることができない場合、最先端のアプローチは何ですか?作業環境では、nodejsとnodeが異なるnodejsバージョンに対応していると、エラーが発生しやすくなります。
1

回答:


13

私にとって同じ問題を解決した手順:

sudo apt-get remove nodejs
sudo ln -s /usr/bin/node /usr/bin/nodejs

説明

nodejsの2つのバージョンがコンピューターにインストールされているため、そのうちの1つを削除する必要があります。あなたの状況:

node v5.0.0 - you will keep this one
nodejs v0.10.25 - this you can remove

コマンドをnodejs使用してパッケージを削除できますapt-get remove。これによりファイルも削除され、/usr/bin/nodejsエラーメッセージが再び表示されることはありません。

これで、ソース「/ usr / local / bin / node」を指す「/ usr / bin / nodejs」というシンボリックリンクを作成できます。あなたの例では、パス「from」と「to」の順序が間違っています

sudo ln -s source_file myfile

リンク作成の詳細:シンボリックリンクの仕組み


5

エラー:

ln: failed to create symbolic link ‘/usr/bin/node’: File exists

通常、Nodejsの2つのバージョンがある場合に発生します。1つはエイリアスのエイリアスでnode、もう1つはnodejsエイリアスで、コマンドの結果node --versionnodejs --version

$ node --version
v5.0.0
$ nodejs --version
v0.10.25

そのため、既に存在するファイルのシンボリックリンクを作成することはできません。

これを解決するには、次を使用して2つのパッケージを完全に削除する必要があります。

sudo apt-get purge node
sudo apt-get purge nodejs
sudo rm -rf bin/node bin/node-waf include/node lib/node lib/pkgconfig/nodejs.pc share/man/man1/node

nodejs次のコマンドを使用してパッケージのみを再インストールします。

sudo apt-get install nodejs

次を使用してシンボリックリンクを作成します。

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

またはnodejs-legacy、コマンドでこの問題を解決するものをインストールします:

sudo apt-get install nodejs-legacy 

おかげで、あなたは情報を追加しました、私はすでに自分で問題を解決しました。私は賛成しました。
-areim

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.