Я намагаюся глобально встановити щойно опублікований модуль 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! <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
Я використовую судо, і я потрійно перевірив все в пакеті, все має працювати. Я кілька пошукав навколо, і побачив пару випадків, які не були вирішені. Ось що я спробував.
- Оновити npm (
sudo npm install -g npm
) - Очистити глобальний кеш-пам'ять npm (
sudo npm cache clear
) - Очистити кеш-пам'ять користувача npm (
npm cache clear
)
Я помітив, що помилка пов'язана з файлом, який я посилаю на шлях, зокрема, коли npm намагався зробити chmod. Це не повинно бути проблемою, у мене lib/cli.js
нормальні дозволи, а npm має права суперпользователя під час цього встановлення.
Після перекопування файлів npm я знайшов варіант, який не дозволив npm робити посилання на бін ( --no-bin-links
), коли я спробував встановити з ним, він працював чудово.
То яка ж угода? Це якась дивна помилка з бахромою, яка ще не має рішення?
Правка: Для довідки, ось модуль, який я завантажив
--no-bin-links
Просто зупиняється НПМ з файлів в символічне посилання на package.json в bin
хеш по шляху на глобальній установці.