Я установил некоторые nodejs пакеты по всему миру черезПочему мне нужно называть npm-ссылку администратором?
sudo npm install gulp -g
Теперь я (или другой разработчик на той же машине) хочет использовать его в проекте с
[email protected]:/my/project$ npm link gulp
Это терпит неудачу с
unbuild [email protected]
npm ERR! Error: EPERM, chmod '/my/projectnode_modules/gulp/bin/gulp.js'
npm ERR! { [Error: EPERM, chmod '/my/projectnode_modules/gulp/bin/gulp.js']
npm ERR! errno: 50,
npm ERR! code: 'EPERM',
npm ERR! path: '/my/projectnode_modules/gulp/bin/gulp.js' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! System Linux 3.2.0-4-amd64
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "link" "gulp"
npm ERR! cwd /raid5/workspaces/jgr/aktivglueck-laravel
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.4.21
npm ERR! path /my/projectnode_modules/gulp/bin/gulp.js
npm ERR! code EPERM
npm ERR! errno 50
npm ERR! stack Error: EPERM, chmod '/my/projectnode_modules/gulp/bin/gulp.js'
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /my/projectnpm-debug.log
npm ERR! not ok code 0
С
sudo npm link gulp
все работает нормально.
Что я хочу знать: Почему npm link
нужны разрешения администратора? В моем понимании я создаю ссылку внутри моей папки проекта, где у меня есть полные разрешения - так что же она делает в глобальной системе?
Хорошо, я мог бы просто избежать глобальной установки и использовать 'npm install' в проекте (у меня есть' package.json') ... – Alex
Вы узнали, как использовать 'npm link'? У меня такая же проблема при использовании 'gulp' в контейнере Docker, и мне не нравится концепция установки' gulp' дважды. –