一尘不染

在Mac 10.7.2上安装coffeescript时出错

node.js

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

阅读 221

收藏
2020-07-07

共1个答案

一尘不染

错误消息非常清楚:

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

dylan-hermans-macbook:~ sudo npm install -g coffee-script

npm作者建议不要使用,sudo因为软件包可以运行任意命令,因此sudo npm install很危险。他建议将的所有权切换/usr/local到您的用户。我认为这是一种可怕的建议,只会给您一种错误的安全感:如果一个程序包可以运行任意命令,那么它就可能与您的主目录(包括您的所有个人数据,可执行文件,配置文件和启动文件,…)混为一谈。sudo或谁拥有,/usr/local因此不使用sudo对您没有多大帮助。如果您不信任某个软件包,请不要安装它。如果您不信任某个程序包,那么您甚至将如何使用它?该/usr/local树仍然是系统目录树,而OSX仍然是多用户操作系统。

IMO一个更好的解决方案是双重的:

  1. 不要安装或使用任何您不信任的软件包。如果您安装了它,那么您就可以相信该代码是您自己(除非您总是要在某种监狱中运行它,但是如果要达到这些长度,则最好自己编写代码) 。
  2. 离开sudo/usr/local独自将其全部安装在您的主目录中。与使用sudo或更改/usr/local所有权一样,您将面临大多数相同的危险,但是至少您不会养成不良习惯。
2020-07-07