我在全球安裝了一些的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
使用
With
sudo npm link gulp
一切工作正常。
我想知道的是:爲什麼npm link
需要管理員權限?在我的理解,我創造,我有充分的權限,我的項目文件夾內的鏈接 - 所以它有什麼作用的全球系統上?
好吧,我可以避免全局安裝並在項目中使用'npm install'(我有'packages.json')... – Alex
您是否瞭解如何使用'npm link'?在Docker容器中使用'gulp'時我遇到同樣的問題,我不喜歡兩次安裝'gulp'的概念。 –