[解決済み] npm install errors with Error: ENOENT, chmod
質問
公開したばかりのnpmモジュールをグローバルにインストールしようとしています。インストールしようとすると、npmからもフォルダからも、毎回このエラーが出ます。
npm ERR! Error: ENOENT, chmod '/usr/local/lib/node_modules/takeapeek/lib/cmd.js'
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! <[email protected]>
npm ERR! System Linux 3.8.0-19-generic
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "takeapeek"
npm ERR! cwd /home/giodamlio
npm ERR! node -v v0.10.6
npm ERR! npm -v 1.3.6
npm ERR! path /usr/local/lib/node_modules/takeapeek/lib/cmd.js
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/giodamlio/npm-debug.log
npm ERR! not ok code 0
私はsudoを使用しており、パッケージ内のすべてのものを3回チェックしました。私はいくつかの検索を行い、いくつかの類似したケースを見たが、どれも解決されていない。以下は私が試したことです。
-
npmのアップグレード (
sudo npm install -g npm
) -
グローバルなnpmキャッシュをクリアする (
sudo npm cache clear
) -
ユーザーのnpmキャッシュをクリアする (
npm cache clear
)
私は、エラーがパスにリンクしているファイルに関係していることに気づきました。特に、npmがchmodを行おうとしたときに起こりました。これは問題ないはずで、私の
lib/cli.js
は通常のパーミッションを持ち、今回のインストールではnpmがスーパーユーザーパーミッションを持ちます。
npmのドキュメントを掘り下げた結果、npmがbinリンクを作成しないようにするオプションを見つけました(
--no-bin-links
をインストールしたところ、正常に動作しました。
で、どうなんだ?これは、ある 奇妙なフリンジケースバグ まだ解決していないのでしょうか?
編集部:参考までに。 ここで は、私がアップロードしたモジュール
解決方法は?
OK、どうやらNPMはあなたの
.gitignore
をベースとして
.npmignore
ファイルを無視するため
/lib
. もし、空白の
.npmignore
ファイルをアプリケーションのルートに置くと、すべてがうまくいくはずです。
より良い、より明示的な方法は、disallow-list ではなく allow-list を使用し、package.json の "files" フィールドでパッケージ内のファイルを指定することです。
[編集] - この動作についての詳細はこちら。 https://docs.npmjs.com/cli/v7/using-npm/developers#keeping-files-out-of-your-package
関連
-
[解決済み】モジュール 'internal/util/types' が見つかりません。
-
[解決済み】ExpressJSとMeteorJSの比較【終了しました
-
[解決済み] npm installの-saveオプションは何ですか?
-
[解決済み] sudoを使わずにnpmがエラーを投げるのを修正する方法
-
[解決済み] npmはどこにパッケージをインストールするのですか?
-
[解決済み] NPMパッケージの以前の正確なバージョンをインストールするにはどうすればよいですか?
-
[解決済み] GitHubからnpmパッケージを直接インストールする方法
-
[解決済み] Node.js/Windowsのエラーです。ENOENT, stat 'C:\Users﹑RTAppData﹑Roaming﹑npm'.
-
[解決済み] なぜ "npm install" は package-lock.json を書き換えてしまうのですか?
-
[解決済み] sudo を使用しないと NPM モジュールがグローバルにインストールされない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Node.jsのエラーECONNRESETをデバッグするにはどうすればよいですか?
-
[解決済み】NPMインストールエラー:解析中の予期せぬJSON入力の終了 '...nt-webpack-plugin": "0'' 付近。
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み】POSTできない/expressを使用するとエラーが発生する
-
[解決済み] create-react-app、インストールエラー("コマンドが見つからない")。
-
[解決済み] AWS lambda function error - Unable to import module 'index': エラー
-
[解決済み] nvm は npm config の "prefix" オプションと互換性がありません。
-
[解決済み] NodeJsのSequelizeでautoIncrementはどのように動作するのですか?
-
[解決済み] ノードのバージョンを管理するためのnまたはnvm - 各バージョンのグローバルモジュールを保持することは良いアイデアですか?
-
[解決済み] Ubuntuでnodeパッケージマネージャを使用してパッケージをインストールすることができない