Nodejs 在 mac 上安装hexo出错,求帮助
Nodejs 在 mac 上安装hexo出错,求帮助
mac osx 10.10 node v.10.33,node我是用brew安装的 输入sudo npm install -g hexo
第一个警告: fsevents@0.2.0 install /usr/local/lib/node_modules/hexo/node_modules/chokidar/node_modules/fsevents node-gyp rebuild gyp WARN EACCES user “root” does not have permission to access the dev dir "/Users/xiangwenwen/.node-gyp/0.10.33" gyp WARN EACCES attempting to reinstall using temporary dev dir “/usr/local/lib/node_modules/hexo/node_modules/chokidar/node_modules/fsevents/.node-gyp”
第二个错误信息: gyp WARN install got an error, rolling back install gyp WARN install got an error, rolling back install gyp ERR! configure error gyp ERR! stack Error: node-v0.10.33.tar.gz local checksum 045280b98cf30b93bb9baec62a1ae12d46b9657d2501718a7c1648c1d61a3096 not match remote 75dc26c33144e6d0dc91cb0d68aaf0570ed0a7e4b0c35f3a7a726b500edd081e gyp ERR! stack at deref (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/install.js:299:20) gyp ERR! stack at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/install.js:340:13) gyp ERR! stack at IncomingMessage.emit (events.js:117:20) gyp ERR! stack at _stream_readable.js:943:16 gyp ERR! stack at process._tickCallback (node.js:419:13) gyp ERR! System Darwin 14.0.0 gyp ERR! command “node” “/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js” "rebuild" gyp ERR! cwd /usr/local/lib/node_modules/hexo/node_modules/chokidar/node_modules/fsevents gyp ERR! node -v v0.10.33 gyp ERR! node-gyp -v v1.0.2 gyp ERR! not ok npm WARN optional dep failed, continuing fsevents@0.2.0
尝试的解决办法: 一,sudo npm install -g node-gyp 安装node-gyp,然后再运行,警告与错误同上。 二,给/var/root改变权限,sudo chmod -R 777 /var/root 然后再运行,依然同上。
我无法解决这个问题,所以只发帖了,如果有人知道,还麻烦告诉一下,谢谢啦~
Nodejs 在 Mac 上安装 Hexo 出错,求帮助
环境描述
- macOS 版本: 10.10
- Node.js 版本: v10.33
- 使用 Homebrew 安装 Node.js
错误描述
在使用 sudo npm install -g hexo
命令安装 Hexo 时,遇到了一些错误。以下是错误的具体内容:
fsevents@0.2.0 install /usr/local/lib/node_modules/hexo/node_modules/chokidar/node_modules/fsevents
node-gyp rebuild
gyp WARN EACCES user “root” does not have permission to access the dev dir "/Users/xiangwenwen/.node-gyp/0.10.33"
gyp WARN EACCES attempting to reinstall using temporary dev dir “/usr/local/lib/node_modules/hexo/node_modules/chokidar/node_modules/fsevents/.node-gyp”
第二个错误信息:
gyp WARN install got an error, rolling back install
gyp WARN install got an error, rolling back install
gyp ERR! configure error
gyp ERR! stack Error: node-v0.10.33.tar.gz local checksum 045280b98cf30b93bb9baec62a1ae12d46b9657d2501718a7c1648c1d61a3096 not match remote 75dc26c33144e6d0dc91cb0d68aaf0570ed0a7e4b0c35f3a7a726b500edd081e
gyp ERR! stack at deref (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/install.js:299:20)
gyp ERR! stack at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/install.js:340:13)
gyp ERR! stack at IncomingMessage.emit (events.js:117:20)
gyp ERR! stack at _stream_readable.js:943:16
gyp ERR! stack at process._tickCallback (node.js:419:13)
gyp ERR! System Darwin 14.0.0
gyp ERR! command “node” “/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js” "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/hexo/node_modules/chokidar/node_modules/fsevents
gyp ERR! node -v v0.10.33
gyp ERR! node-gyp -v v1.0.2
gyp ERR! not ok
npm WARN optional dep failed, continuing fsevents@0.2.0
尝试的解决办法
-
重新安装 node-gyp
sudo npm install -g node-gyp
运行后,警告与错误同上。
-
修改文件权限
sudo chmod -R 777 /var/root
修改后,再次运行安装命令,但问题依旧存在。
解决方案
根据上述错误信息,问题主要集中在 node-gyp
和文件权限上。以下是一些可能的解决方案:
-
更新 Node.js 和 npm 你的 Node.js 版本比较旧,建议升级到最新版本。你可以通过 Homebrew 来更新 Node.js:
brew update brew upgrade node
-
清除 npm 缓存 有时候缓存可能会导致问题,清除 npm 缓存可以解决一些潜在的冲突:
npm cache clean --force
-
重新安装 Hexo 清除缓存后,重新安装 Hexo:
sudo npm install -g hexo
-
检查环境变量 确保你的环境变量配置正确,特别是
PATH
变量中包含了 Node.js 的路径。
希望以上方法能帮助你解决问题。如果还有其他问题,请继续反馈。
貌似以前遇到过,可以用 nvm 重装一下 node 试试?
不用brew来安装么?
用安装包试试
试试: 1.npm cache clean --force 2.npm update 然后再安装。没遇过这问题,这是网上看到别人的说的。
我在Mac装pomelo也遇到跟你类似的警告,然后后面跟着一大堆错误。。。目前还没解决,晚上回去照你方法试试看,公司电脑只有window
gyp ERR! stack Error: node-v0.10.33.tar.gz local checksum 045280b98cf30b93bb9baec62a1ae12d46b9657d2501718a7c1648c1d61a3096 not match remote 75dc26c33144e6d0dc91cb0d68aaf0570ed0a7e4b0c35f3a7a726b500edd081e
sha校验没有通过。使用中国镜像试试
👿 npm i fsevents --registry=http://registry.npm.taobao.org --disturl=http://npm.taobao.org/mirrors/node --loglevel=http
npm http GET http://registry.npm.taobao.org/fsevents
npm http 304 http://registry.npm.taobao.org/fsevents
npm http GET http://registry.npm.taobao.org/nan
npm http 304 http://registry.npm.taobao.org/nan
> fsevents@0.3.5 install /private/tmp/node_modules/fsevents
> node-gyp rebuild
gyp http GET http://npm.taobao.org/mirrors/node/v0.10.33/node-v0.10.33.tar.gz
gyp http 200 http://npm.taobao.org/mirrors/node/v0.10.33/node-v0.10.33.tar.gz
gyp http GET http://npm.taobao.org/mirrors/node/v0.10.33/SHASUMS256.txt
gyp http 200 http://npm.taobao.org/mirrors/node/v0.10.33/SHASUMS256.txt
SOLINK_MODULE(target) Release/.node
SOLINK_MODULE(target) Release/.node: Finished
CXX(target) Release/obj.target/fse/fsevents.o
SOLINK_MODULE(target) Release/fse.node
SOLINK_MODULE(target) Release/fse.node: Finished
fsevents@0.3.5 node_modules/fsevents
└── nan@1.5.3
还有,如果是使用 node 0.11,那么fsevents 只支持 node >=0.11.13
我今天遇到了同样的问题,最后执行下面这条命令解决了:
sudo npm install --unsafe-perm --verbose -g hexo
根据你的描述,在安装 Hexo 的过程中遇到了与 node-gyp
相关的权限问题。以下是一些可能的解决方案:
解决方案 1: 使用 nvm 管理 Node.js 版本
建议使用 nvm
(Node Version Manager)来管理 Node.js 版本,而不是直接通过 Homebrew 安装 Node.js。你可以通过以下命令安装 nvm
:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
然后重新启动终端,并安装最新版本的 Node.js:
nvm install node
再次尝试安装 Hexo:
npm install -g hexo
解决方案 2: 更新 npm
确保你使用的是最新版本的 npm:
npm install -g npm
然后再次尝试安装 Hexo:
npm install -g hexo
解决方案 3: 修改 npm 配置
尝试修改 npm 的配置以避免使用 node-gyp
重建某些模块。你可以设置 --no-optional
参数来跳过这些步骤:
npm config set unsafe-perm true
npm install -g hexo --no-optional
解决方案 4: 清除 npm 缓存
清除 npm 缓存可以解决一些缓存相关的问题:
npm cache clean --force
然后再次尝试安装 Hexo:
npm install -g hexo
解决方案 5: 使用 Docker
如果以上方法都无效,可以考虑使用 Docker 来创建一个包含所需环境的容器。
总结
尝试上述方法之一,应该能够解决你在安装 Hexo 过程中遇到的问题。如果问题仍然存在,请检查是否有其他环境或依赖项的问题。希望这些建议对你有所帮助!