Meteor 安装下载太慢的解决方法
参考文章:
https://www.jianshu.com/p/c93fede90615
执行下面这个脚本即可:
#!/bin/sh # This is the Meteor install script! # # Are you looking at this in your web browser, and would like to install Meteor? # # MAC AND LINUX: # Just open up your terminal and type: # # curl https://install.meteor.com/ | sh # # Meteor currently supports: # - Mac: OS X 10.7 and above # - Linux: x86_64 systems # # WINDOWS: # Download the Windows installer from https://install.meteor.com/windows # # Meteor currently supports Windows 7, Windows 8.1, Windows Server 2008, # and Windows Server 2012. # We wrap this whole script in a function, so that we won't execute # until the entire script is downloaded. # That's good because it prevents our output overlapping with curl's. # It also means that we can't run a partially downloaded script. # We don't indent because it would be really confusing with the heredocs. run_it () { # This always does a clean install of the latest version of Meteor into your # ~/.meteor, replacing whatever is already there. (~/.meteor is only a cache of # packages and package metadata; no personal persistent data is stored there.) RELEASE="2.5" # Now, on to the actual installer! ## NOTE sh NOT bash. This script should be POSIX sh only, since we don't ## know what shell the user has. Debian uses 'dash' for 'sh', for ## example. PREFIX="/usr/local" set -e set -u # Let's display everything on stderr. exec 1>&2 UNAME=$(uname) # Check to see if it starts with MINGW. if [ "$UNAME" ">" "MINGW" -a "$UNAME" "<" "MINGX" ] ; then echo "To install Meteor on Windows, download the installer from:" echo "https://install.meteor.com/windows" exit 1 fi if [ "$UNAME" != "Linux" -a "$UNAME" != "Darwin" ] ; then echo "Sorry, this OS is not supported yet via this installer." echo "For more details on supported platforms, see https://www.meteor.com/install" exit 1 fi if [ "$UNAME" = "Darwin" ] ; then ### OSX ### if [ "i386" != "$(uname -p)" -o "1" != "$(sysctl -n hw.cpu64bit_capable 2>/dev/null || echo 0)" ] ; then # Can't just test uname -m = x86_64, because Snow Leopard can # return other values. echo "Only 64-bit Intel processors are supported at this time." exit 1 fi # Running a version of Meteor older than 0.6.0 (April 2013)? if grep BUNDLE_VERSION /usr/local/bin/meteor >/dev/null 2>&1 ; then echo "You appear to have a very old version of Meteor installed." echo "Please remove it by running these commands:" echo " $ sudo rm /usr/local/bin/meteor" echo " $ sudo rm -rf /usr/local/meteor /usr/local/meteor.old" echo "and then run the installer command again:" echo " $ curl https://install.meteor.com/ | sh" exit 1 fi PLATFORM="os.osx.x86_64" elif [ "$UNAME" = "Linux" ] ; then ### Linux ### LINUX_ARCH=$(uname -m) if [ "${LINUX_ARCH}" = "x86_64" ] ; then PLATFORM="os.linux.x86_64" else echo "Unusable architecture: ${LINUX_ARCH}" echo "Meteor only supports x86_64 for now." exit 1 fi # Running a version of Meteor older than 0.6.0 (April 2013) on a dpkg system? if dpkg -s meteor >/dev/null 2>&1 ; then echo "You appear to have a very old version of Meteor installed." echo "Please remove it by running these commands:" echo " $ sudo dpkg -r meteor" echo " $ hash -r" echo "and then run the installer command again:" echo " $ curl https://install.meteor.com/ | sh" exit 1 fi # Running a version of Meteor older than 0.6.0 (April 2013) on an rpm system? if rpm -q meteor >/dev/null 2>&1 ; then echo "You appear to have a very old version of Meteor installed." echo "Please remove it by running these commands:" echo " $ sudo rpm -e meteor" echo " $ hash -r" echo "and then run the installer command again:" echo " $ curl https://install.meteor.com/ | sh" exit 1 fi fi trap "echo Installation failed." EXIT if [ -z $HOME ] || [ ! -d $HOME ]; then echo "The installation and use of Meteor requires the \$HOME environment variable be set to a directory where its files can be installed." exit 1 fi # If you already have a tropohouse/warehouse, we do a clean install here: if [ -e "$HOME/.meteor" ]; then echo "Removing your existing Meteor installation." rm -rf "$HOME/.meteor" fi # TARBALL_URL="https://static-meteor.netdna-ssl.com/packages-bootstrap/${RELEASE}/meteor-bootstrap-${PLATFORM}.tar.gz" TARBALL_URL="https://d3sqy0vbqsdhku.cloudfront.net/packages-bootstrap/${RELEASE}/meteor-bootstrap-${PLATFORM}.tar.gz" INSTALL_TMPDIR="$HOME/.meteor-install-tmp" TARBALL_FILE="$HOME/.meteor-tarball-tmp" cleanUp() { rm -rf "$TARBALL_FILE" rm -rf "$INSTALL_TMPDIR" } # Remove temporary files now in case they exist. cleanUp # Make sure cleanUp gets called if we exit abnormally. trap cleanUp EXIT mkdir "$INSTALL_TMPDIR" # Only show progress bar animations if we have a tty # (Prevents tons of console junk when installing within a pipe) VERBOSITY="--silent"; if [ -t 1 ]; then VERBOSITY="--progress-bar" fi echo "Downloading Meteor distribution" # keep trying to curl the file until it works (resuming where possible) MAX_ATTEMPTS=10 RETRY_DELAY_SECS=5 set +e ATTEMPTS=0 while [ $ATTEMPTS -lt $MAX_ATTEMPTS ] do ATTEMPTS=$((ATTEMPTS + 1)) curl $VERBOSITY --fail --continue-at - \ "$TARBALL_URL" --output "$TARBALL_FILE" if [ $? -eq 0 ] then break fi echo "Retrying download in $RETRY_DELAY_SECS seconds..." sleep $RETRY_DELAY_SECS done set -e # bomb out if it didn't work, eg no net test -e "${TARBALL_FILE}" tar -xzf "$TARBALL_FILE" -C "$INSTALL_TMPDIR" -o test -x "${INSTALL_TMPDIR}/.meteor/meteor" mv "${INSTALL_TMPDIR}/.meteor" "$HOME" # just double-checking :) test -x "$HOME/.meteor/meteor" # The `trap cleanUp EXIT` line above won't actually fire after the exec # call below, so call cleanUp manually. cleanUp echo echo "Meteor ${RELEASE} has been installed in your home directory (~/.meteor)." METEOR_SYMLINK_TARGET="$(readlink "$HOME/.meteor/meteor")" METEOR_TOOL_DIRECTORY="$(dirname "$METEOR_SYMLINK_TARGET")" LAUNCHER="$HOME/.meteor/$METEOR_TOOL_DIRECTORY/scripts/admin/launch-meteor" if cp "$LAUNCHER" "$PREFIX/bin/meteor" >/dev/null 2>&1; then echo "Writing a launcher script to $PREFIX/bin/meteor for your convenience." cat <<"EOF" To get started fast: $ meteor create ~/my_cool_app $ cd ~/my_cool_app $ meteor Or see the docs at: docs.meteor.com Deploy and host your app with Cloud: www.meteor.com/cloud EOF elif type sudo >/dev/null 2>&1; then echo "Writing a launcher script to $PREFIX/bin/meteor for your convenience." echo "This may prompt for your password." # New macs (10.9+) don't ship with /usr/local, however it is still in # the default PATH. We still install there, we just need to create the # directory first. # XXX this means that we can run sudo too many times. we should never # run it more than once if it fails the first time if [ ! -d "$PREFIX/bin" ] ; then sudo mkdir -m 755 "$PREFIX" || true sudo mkdir -m 755 "$PREFIX/bin" || true fi if sudo cp "$LAUNCHER" "$PREFIX/bin/meteor"; then cat <<"EOF" To get started fast: $ meteor create ~/my_cool_app $ cd ~/my_cool_app $ meteor Or see the docs at: docs.meteor.com Deploy and host your app with Cloud: www.meteor.com/cloud EOF else cat <<EOF Couldn't write the launcher script. Please either: (1) Run the following as root: cp "$LAUNCHER" /usr/bin/meteor (2) Add "\$HOME/.meteor" to your path, or (3) Rerun this command to try again. Then to get started, take a look at 'meteor --help' or see the docs at docs.meteor.com. EOF fi else cat <<EOF Now you need to do one of the following: (1) Add "\$HOME/.meteor" to your path, or (2) Run this command as root: cp "$LAUNCHER" /usr/bin/meteor Then to get started, take a look at 'meteor --help' or see the docs at docs.meteor.com. EOF fi trap - EXIT } run_it
分类:
Web开发
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具