web-dev-qa-db-ja.com

`yo angular`はエラーを出します:npm ERR!コードENOENT npm ERR! errno 34(はい、私はキャッシュを消去して.npmignoreを設定しました)

新しいプロジェクトディレクトリでyo angularを実行しようとしましたが、途中でENOENTエラーが発生しました。はい、私は これに似た質問 を見てきましたが、その解決策は私にはうまくいきません。

yo angularを実行する直前に、これらを空の新しいプロジェクトディレクトリで実行しました。

touch .npmignore
npm cache clear
npm cache clean

しかし、私はまだ得ます:

npm ERR! Error: ENOENT, lstat '/home/ubuntu/app_c/node_modules/grunt/    internal-tasks/bump.js'
npm ERR! If you need help, you may report this *entire* log, 
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/npm/npm/issues>

npm ERR! System Linux 3.2.0-54-virtual
npm ERR! command "/home/ubuntu/local/bin/node" "/home/ubuntu/local/bin/  npm" "install"
npm ERR! cwd /home/ubuntu/app_c
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.3
npm ERR! path /home/ubuntu/app_c/node_modules/grunt/internal-tasks/bump. js
npm ERR! fstream_path /home/ubuntu/app_c/node_modules/grunt/internal-    tasks/bump.js
npm ERR! fstream_type File 
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /home/ubuntu/local/lib/node_modules/npm/          node_modules/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)

どうすれば修正できますか?


これが、真新しいUbuntu Server 12.04.3での すべてのコマンドの履歴、時系列で実行したもの なので、この時点までの原因と、インストールした場所を正確に確認できますさまざまなパッケージ。

この質問はnpm github issue にリンクしています。

21
randwa1k

編集:npm update -gの後にnpm cache clearを続けると、ほとんどの場合に機能します。ただし、Mac OSに最初にインストールするときは、nodeJSが最初にインストールされた後、usr/local/lib/node_modulesフォルダーに移動して、「Everyone」に読み取り/書き込み権限を付与する必要がある場合があります。 Nodeは、これらの権限が解放されるまで、追加のワークフローコンポーネントをグローバルにインストールすることはできません。npminstallコマンドをSudoしたくないので、これらのツールはSudoにアクセスできません。読み取り/書き込み権限を変更するには、フォルダを右クリックして[情報を取得]に移動し、ポップアップの下部で権限を変更します。

Windows 7マシンでも同じ問題が発生しました。解決するために私が取った手順は次のとおりです。

  • 修復Nodeインストール
  • 高架のCLIを開く
  • npm update -gを実行します
  • npm cache clearを実行します
  • npm install -g yoを実行します
  • npm cache clearを実行します
  • npm install -g generator-angularを実行します
  • npm cache clearを実行します
  • 新しいディレクトリを作成しました
  • yo angular testを実行します
  • npm cache clearを実行します
  • grunt serveを実行します

パスがbower_componentsの\ではなく/を持っているkarma.conf.jsで他のいくつかの問題に遭遇しました。また、オプションのangularモジュールは、CLIからのビルドにすべて含まれていなくても、app.jsに挿入されていました。これらの問題はgithubで報告されています。

27
JamesRLamar

npm ERR!コマンド "/ home/ubuntu/local/bin/node"

ユーザーディレクトリにインストールしていますか?私もENOENTエラーがありました。

いくつかのディレクトリをmkdirする必要がありました。そこにない場合は、lib/node_modulesなどのディレクトリをdebug.logに作成してみてください。

2
Kin

ノード(およびnpm)を最新バージョンに更新すると、問題が解決するはずです。

1
Nikola M.

これらのENOENT(場合によってはEACCES)エラーは、古いバージョンのnpmが原因であることがよくあります。残念ながら、最新バージョンのnodeでも、現在のバージョンのnpmは配布されません。

nodeをインストールしたら、_npm -v_を実行します。 _2.1.18_以降が表示されない場合は、こちらの公式手順に従ってアップグレードする必要があります https://github.com/npm/npm/wiki/Troubleshooting#try-the-latest-stable- version-of-npm

OSXでは、アップグレードするための迅速な方法は_Sudo npm install -g npm@latest_です。

Windowsでは、wikiのガイドに従うか、この回答を読んでください Windowsでnpmを更新するにはどうすればよいですか

cmd.exe cd C:\Program Files (x86)\nodejs npm install npm@latest

1
Sam Mikes

私の問題は壊れていたpackage.jsonでした。多分これは誰かを助けるでしょう。

0
Daniele Vrut