新しいプロジェクトディレクトリで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 にリンクしています。
編集:npm update -g
の後にnpm cache clear
を続けると、ほとんどの場合に機能します。ただし、Mac OSに最初にインストールするときは、nodeJSが最初にインストールされた後、usr/local/lib/node_modules
フォルダーに移動して、「Everyone」に読み取り/書き込み権限を付与する必要がある場合があります。 Nodeは、これらの権限が解放されるまで、追加のワークフローコンポーネントをグローバルにインストールすることはできません。npminstallコマンドをSudoしたくないので、これらのツールはSudoにアクセスできません。読み取り/書き込み権限を変更するには、フォルダを右クリックして[情報を取得]に移動し、ポップアップの下部で権限を変更します。
Windows 7マシンでも同じ問題が発生しました。解決するために私が取った手順は次のとおりです。
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で報告されています。
npm ERR!コマンド "/ home/ubuntu/local/bin/node"
ユーザーディレクトリにインストールしていますか?私もENOENTエラーがありました。
いくつかのディレクトリをmkdirする必要がありました。そこにない場合は、lib/node_modulesなどのディレクトリをdebug.logに作成してみてください。
ノード(およびnpm)を最新バージョンに更新すると、問題が解決するはずです。
これらの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
私の問題は壊れていたpackage.jsonでした。多分これは誰かを助けるでしょう。