Yeni yayınladığım bir npm modülünü global olarak kurmaya çalışıyorum. Npm veya klasörden yüklemeyi her denediğimde bu hatayı alıyorum.
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
Sudo kullanıyorum ve paketteki her şeyi üç kez kontrol ettim, her şeyin çalışması gerekiyor. Etrafta biraz araştırma yaptım ve hiçbiri çözülmemiş birkaç benzer olay gördüm. İşte denediğim şey.
- Npm (
sudo npm install -g npm
) yükselt - Genel npm önbelleğini temizle (
sudo npm cache clear
) - Kullanıcı npm önbelleğini temizle (
npm cache clear
)
Hatanın, özellikle npm bir chmod yapmayı denediğinde, yola bağladığım dosyayla ilgili olduğunu fark ettim. Bu bir sorun olmamalı, benim lib/cli.js
normal izinlerim var ve npm bu kurulum sırasında süper kullanıcı izinlerine sahip.
Npm belgelerini araştırdıktan sonra, npm'nin bin bağlantılarını ( --no-bin-links
) yapmasını engelleyecek bir seçenek buldum , onunla yüklemeyi denediğimde iyi çalıştı.
Peki anlaşma nedir? Bu henüz çözümü olmayan garip bir sorun mu?
Düzenleme: Referans için yüklediğim modül burada
--no-bin-links
Sadece package.json en dosyaları sembolik bağlantılarını gelen UÖM'sini durur bin
küresel yüklemek üzerinde yoluna karma.