@@ -97,13 +97,19 @@ install_rust() {
9797# #######################################
9898install_solana_cli () {
9999local os=" $1 "
100+ local install_cmd=' sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"'
100101
101102if command -v solana> /dev/null2>&1 ; then
102- log_info" Solana CLI is already installed. Updating..."
103- agave-install update
103+ log_info" Solana CLI is already installed. Checking for updates..."
104+ if command -v agave-install> /dev/null2>&1 ; then
105+ agave-install update
106+ elif command -v solana-install> /dev/null2>&1 ; then
107+ eval " $install_cmd "
108+ fi
109+ log_info" Solana CLI update complete."
104110else
105111 log_info" Installing Solana CLI..."
106- sh -c " $( curl -sSfL https://release.anza.xyz/stable/install ) "
112+ eval " $install_cmd "
107113 log_info" Solana CLI installation complete."
108114fi
109115
@@ -192,40 +198,25 @@ install_nvm_and_node() {
192198. " $NVM_DIR /bash_completion"
193199fi
194200
195- # Temporary hardcode Node.js version 24.9.0 due to https://github.com/nodejs/node/issues/60176
196- # Original code - checking for latest version
197- # if command -v node >/dev/null 2>&1; then
198- # local current_node
199- # current_node=$(node --version)
200- # local latest_node
201- # latest_node=$(nvm version-remote node)
202- # if [ "$current_node" = "$latest_node" ]; then
203- # log_info "Latest Node.js ($current_node) is already installed."
204- # else
205- # log_info "Updating Node.js: Installed ($current_node), Latest ($latest_node)."
206- # nvm install node
207- # nvm alias default node
208- # nvm use default
209- # fi
210- # else
211-
212- # Install specific Node.js version 24.9.0
201+ # Install specific Node.js version
202+ local node_version=" 24.10.0"
203+ local target_node=" v${node_version} "
204+
213205if command -v node> /dev/null2>&1 ; then
214206local current_node
215207 current_node=$( node --version)
216- local target_node=" v24.9.0"
217- if [" $current_node " = " $target_node " ]; then
218- log_info" Node.js 24.9.0 is already installed."
219- else
220- log_info" Installing Node.js 24.9.0: Currently installed ($current_node )."
221- nvm install 24.9.0
222- nvmalias default 24.9.0
208+ if version_lt" $current_node " " $target_node " ; then
209+ log_info" Installing Node.js${node_version} : Currently installed ($current_node )."
210+ nvm install" $node_version "
211+ nvmalias default" $node_version "
223212 nvm use default
213+ else
214+ log_info" Node.js${current_node} is already installed."
224215fi
225216else
226- log_info" Installing Node.js24.9.0 via NVM..."
227- nvm install24.9.0
228- nvmalias default24.9.0
217+ log_info" Installing Node.js${node_version} via NVM..."
218+ nvm install" $node_version "
219+ nvmalias default" $node_version "
229220 nvm use default
230221fi
231222
@@ -303,12 +294,12 @@ main() {
303294local os
304295 os=$( detect_os)
305296
306- install_dependencies" $os "
307- install_rust
308- install_solana_cli" $os "
309- install_anchor_cli
310- install_nvm_and_node
311- install_yarn
297+ install_dependencies" $os " || log_error " Failed to install dependencies. "
298+ install_rust|| log_error " Failed to install Rust. "
299+ install_solana_cli" $os " || log_error " Failed to install Solana CLI. "
300+ install_anchor_cli|| log_error " Failed to install Anchor CLI. "
301+ install_nvm_and_node|| log_error " Failed to install NVM/Node.js. "
302+ install_yarn|| log_error " Failed to install Yarn. "
312303
313304 ensure_nvm_in_shell
314305