Saya mencoba menginstal secara global modul npm yang baru saja saya terbitkan. Setiap kali saya mencoba menginstal, baik dari npm atau folder, saya mendapatkan kesalahan ini.
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! <npm-@googlegroups.com>
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
Saya menggunakan sudo dan saya telah memeriksa tiga kali semua dalam paket semuanya harus berfungsi. Saya melakukan beberapa pencarian, dan melihat beberapa kasus serupa yang tidak ada satupun yang telah diselesaikan. Inilah yang saya coba.
- Tingkatkan npm (
sudo npm install -g npm
) - Kosongkan cache npm global (
sudo npm cache clear
) - Kosongkan cache npm pengguna (
npm cache clear
)
Saya perhatikan bahwa kesalahan berkaitan dengan file yang saya tautkan ke jalur, khususnya ketika npm mencoba melakukan chmod. Itu seharusnya tidak menjadi masalah, saya lib/cli.js
memiliki izin normal, dan npm memiliki izin pengguna super selama penginstalan ini.
Setelah menggali dokumen npm saya menemukan opsi yang akan menghentikan npm membuat tautan bin ( --no-bin-links
), ketika saya mencoba menginstal dengannya, itu berfungsi dengan baik.
Jadi apa masalahnya? Apakah ini bug kasus pinggiran aneh yang belum ada solusinya?
Edit: Untuk referensi, berikut adalah modul yang saya unggah
--no-bin-links
hanya berhenti NPM dari symlinking file dalam package.json ini bin
hash ke jalan di install global.