4

私はLinuxにあまり熟練していないので、ご容赦ください...

次の手順を使用して Node.js をインストールしようとしています。

sudo apt-get update
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs=0.10.18-1chl1~precise1

ここにあります: https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager

これらのコマンドを実行し、最後のコマンドの後に次のエラーを受け取りました。

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help resolve the situation:

The following packages have unmet dependencies:
nodejs : Conflicts: npm
E: Unable to correct problems, you have held broken packages.

次に、コマンド sudo apt-get install nodejs を実行してみましたが、エラーは発生しませんでした。

ただし、「npm install」を実行すると、次の表示に失敗します。

npm ERR! install Couldn't read dependencies
npm ERR! Error: ENOENT, open '/home/sarah/package.json'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.8.0-30-generic
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! cwd /home/sarah
npm ERR! node -v v0.11.8-pre
npm ERR! npm -v 1.3.11
npm ERR! path /home/sarah/package.json
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/sarah/npm-debug.log
npm ERR! not ok code 0

何が問題なのかを理解するのを手伝ってくれる人はいますか? 前もって感謝します

4

1 に答える 1

12

このコマンド:sudo apt-get install nodejs=0.10.18-1chl1~precise1は、不適切なドキュメントです。正確なバージョン番号を指定することは、一般的なユースケースでは間違いです。したがって、 just の使用はsudo apt-get install nodejs正しいコマンドであり、すべてがうまくいくはずです。

nodeその後、とnpm(一緒に)の両方が正常にインストールされたように見えます。これnpm installは通常、ノード モジュールのディレクトリ内で実行され、package.jsonファイルを探します。ホーム ディレクトリはノード モジュールではなく、package.jsonファイルが含まれていないため、エラーが発生します。

ノードが正しくインストールされ、準備完了です。で新しいモジュールの開発を開始するnpm initか、たとえば cd でそのモジュールのディレクトリに既存のモジュールを複製して実行するnpm installと、動作するはずです。

于 2013-09-26T21:54:32.580 に答える