Node和npm均已安装并且是最新的,但是在尝试安装coffeescript时始终出现此错误。我还是编程新手,所以任何建议都将不胜感激。
test-macbook:~ Test$ npm -v 1.1.0-3 test-macbook:~ Test$ node -v v0.6.8 test-macbook:~ Test$ npm install -g coffee-script npm http GET https://registry.npmjs.org/coffee-script npm http 304 https://registry.npmjs.org/coffee-script npm ERR! Could not create /usr/local/lib/node_modules/___coffee-script.npm npm ERR! error installing coffee-script@1.2.0 npm ERR! Error: EACCES, permission denied '/usr/local/lib/node_modules/___coffee-script.npm' npm ERR! npm ERR! Please try running this command again as root/Administrator. npm ERR! npm ERR! System Darwin 11.2.0 npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "coffee-script" npm ERR! cwd /Users/Dylan npm ERR! node -v v0.6.8 npm ERR! npm -v 1.1.0-3 npm ERR! path /usr/local/lib/node_modules/___coffee-script.npm npm ERR! code EACCES npm ERR! message EACCES, permission denied '/usr/local/lib/node_modules/___coffee-script.npm' npm ERR! errno {} npm ERR! npm ERR! Additional logging details can be found in: npm ERR! /Users/Dylan/npm-debug.log npm not ok
错误消息非常清楚:
npm ERR! Error: EACCES, permission denied '/usr/local/lib/node_modules/___coffee-script.npm' npm ERR! npm ERR! Please try running this command again as root/Administrator.
您没有/usr/local/lib/node_modules必要的权限,因此无法安装。尝试使用sudo:
/usr/local/lib/node_modules
sudo
dylan-hermans-macbook:~ sudo npm install -g coffee-script
npm作者建议不要使用,sudo因为软件包可以运行任意命令,因此sudo npm install很危险。他建议将的所有权切换/usr/local到您的用户。我认为这是一种可怕的建议,只会给您一种错误的安全感:如果一个程序包可以运行任意命令,那么它就可能与您的主目录(包括您的所有个人数据,可执行文件,配置文件和启动文件,…)混为一谈。sudo或谁拥有,/usr/local因此不使用sudo对您没有多大帮助。如果您不信任某个软件包,请不要安装它。如果您不信任某个程序包,那么您甚至将如何使用它?该/usr/local树仍然是系统目录树,而OSX仍然是多用户操作系统。
sudo npm install
/usr/local
IMO一个更好的解决方案是双重的: