我创建了一个index.js,index.html和package.json文件,我想添加express。当我在终端中写入'npm install express'时,我得到了下面的错误。到目前为止,我尝试了'sudo npm install -g express',完全删除节点和npm并重新安装。我也经历了其他问题,但没有一个对我有用。无论我用npm写什么,我都会得到同样的错误。(我使用的是macOS)
你有什么建议吗?
这是我得到的错误:
Error: EROFS: read-only file system, mkdir '/npm'
TypeError: Cannot read property 'loaded' of undefined
at exit (/usr/local/lib/node_modules/npm/lib/utils/error-handler.js:97:27)
at errorHandler (/usr/local/lib/node_modules/npm/lib/utils/error-handler.js:216:3)
at /usr/local/lib/node_modules/npm/bin/npm-cli.js:78:20
at cb (/usr/local/lib/node_modules/npm/lib/npm.js:225:22)
at /usr/local/lib/node_modules/npm/lib/npm.js:263:24
at /usr/local/lib/node_modules/npm/lib/config/core.js:81:7
at Array.forEach (<anonymous>)
at /usr/local/lib/node_modules/npm/lib/config/core.js:80:13
at f (/usr/local/lib/node_modules/npm/node_modules/once/once.js:25:25)
at afterExtras (/usr/local/lib/node_modules/npm/lib/config/core.js:171:20)
/usr/local/lib/node_modules/npm/lib/utils/error-handler.js:97
var doExit = npm.config.loaded ? npm.config.get('_exit') : true
^
TypeError: Cannot read property 'loaded' of undefined
at exit (/usr/local/lib/node_modules/npm/lib/utils/error-handler.js:97:27)
at process.errorHandler (/usr/local/lib/node_modules/npm/lib/utils/error-handler.js:216:3)
at process.emit (events.js:223:5)
at process._fatalException (internal/process/execution.js:150:25)
3条答案
按热度按时间wwodge7n1#
这个错误意味着您没有权限在路径
/npm
下安装任何带有npm的东西。要验证此操作,请运行
npm root -g
。这应该返回/npm
。请注意,
/npm
不是MacOS上的默认安装路径(请参阅https://stackoverflow.com/a/35638528/1754076)。checkout 你的npm配置文件,把默认的安装路径修改为你有写权限的路径,你也可以用npm本身修改change the default installation path。
hmtdttj42#
mv ~/.npmrc ~/.npmrc.旧版本
npm前缀-g
这可能行得通
mklgxw1f3#
在我的例子中,我删除了
~/.local/lib
,然后重新运行npm install -g
命令。