我正在尝试在一个新的 Ubuntu 12.04 实例上设置我的节点环境,并且已经安装了 Node 0.8.14,但是当我尝试运行npm install. 所以当我尝试时npm install,它说我需要以 root 或管理员身份运行它:
npm install
Error: EACCES, mkdir '/usr/local/lib/node_modules/coffee-script' npm ERR! { [Error: EACCES, mkdir '/usr/local/lib/node_modules/coffee-script'] npm ERR! errno: 3, npm ERR! code: 'EACCES', npm ERR! path: '/usr/local/lib/node_modules/coffee-script', npm ERR! fstream_type: 'Directory', npm ERR! fstream_path: '/usr/local/lib/node_modules/coffee-script', npm ERR! fstream_class: 'DirWriter', npm ERR! fstream_stack: npm ERR! [ 'DirWriter._create (/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23)', npm ERR! '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53', npm ERR! 'Object.oncomplete (fs.js:297:15)' ] } npm ERR! npm ERR! Please try running this command again as root/Administrator.
但是当尝试以 sudo 运行它时,它会显示以下内容:
npm WARN cannot run in wd PackNodeDev@0.0.1-166 npm install -g coffee-script node-gyp (wd=/home/ubuntu/PackNode)
在我的 package.json 中,它包含以下脚本:
"scripts": { "preinstall": "npm install -g coffee-script node-gyp", "start": "node server.js", "test": "mocha --require should --compilers coffee:coffee-script --colors" },
其余的 devdependencies 是有效的,因为我一直在我自己的机器(Mac)上安装它。有人知道为什么会这样吗?
在这里,自从我第一次问这个问题以来,我已经了解了更多关于节点的知识。尽管 Dmitry 的回答非常有帮助,但最终为我做的是安装具有正确权限的节点。
我强烈建议不要使用任何包管理器安装节点,而是自己编译它,以便它驻留在具有正常权限的本地目录中。
本文提供了一个非常清晰的分步说明,说明如何执行此操作:
https://www.digitalocean.com/community/tutorials/how-to-install-an-upstream- version-of-node-js-on- ubuntu-12-04