{"id":12755,"date":"2017-09-18T14:20:53","date_gmt":"2017-09-18T12:20:53","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=12755"},"modified":"2017-09-18T14:20:53","modified_gmt":"2017-09-18T12:20:53","slug":"node-js-tutte-le-versioni-che-vuoi-con-nvm","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/node-js-tutte-le-versioni-che-vuoi-con-nvm\/","title":{"rendered":"Node.js: tutte le versioni che vuoi con nvm"},"content":{"rendered":"<p><a href=\"http:\/\/www.devapp.it\/wordpress\/introduzione-a-node-js\/\" target=\"_blank\" rel=\"noopener\">Node.js<\/a> \u00e8 un ambiente in continua evoluzione e le sue versioni si alternano rapidamente da anni. Lo strumento di cui parliamo in questo post, <a href=\"https:\/\/github.com\/creationix\/nvm\" target=\"_blank\" rel=\"noopener\">nvm<\/a>, \u00a0nasce appositamente per poter gestire l&#8217;alternanza di versioni di Node.js sulle proprie macchine.<\/p>\n<p>Per installarlo su una macchina Linux o OS X, ci si deve innanzitutto accertare di <strong>avere pronto un compilatore c++<\/strong>. Ad esempio, su Ubuntu si pu\u00f2 semplicemente installare il pacchetto <em>build-essential<\/em>.<\/p>\n<p>A questo punto,\u00a0si pu\u00f2 procedere con lo scaricamento dello script e la sua invocazione<\/p>\n<pre class=\"lang:sh decode:true\">&gt; curl -o- https:\/\/raw.githubusercontent.com\/creationix\/nvm\/v0.33.0\/install.sh | bash<\/pre>\n<p>e, di seguito, con il caricamento<\/p>\n<pre class=\"lang:sh decode:true\">&gt; export NVM_DIR=\"$HOME\/.nvm\"\r\n[ -s \"$NVM_DIR\/nvm.sh\" ] &amp;&amp; . \"$NVM_DIR\/nvm.sh\"<\/pre>\n<p>Si pu\u00f2 richiedere la versione pi\u00f9 aggiornata di Node.js:<\/p>\n<pre class=\"lang:sh decode:true\">&gt; nvm install node<\/pre>\n<p>e attivarne l&#8217;uso:<\/p>\n<pre class=\"lang:sh decode:true \">&gt; nvm use node<\/pre>\n<p>Lo strumento \u00e8 ricchissimo di potenzialit\u00e0, dedicate soprattutto al rapido switch tra una versione e l&#8217;altra di Node.js.<\/p>\n<p>Potremo cos\u00ec richiedere lo scaricamento di una versione meno recente<\/p>\n<pre class=\"lang:sh decode:true \">&gt; nvm install 4.2<\/pre>\n<p>e, in qualunque momento, con il comando <em>use<\/em> gi\u00e0 visto, passare ad un&#8217;altra che abbiamo a disposizione:<\/p>\n<pre class=\"lang:sh decode:true \">&gt; nvm install 7.4<\/pre>\n<p>Infine, un comando molto utile \u00e8 <em>ls<\/em><\/p>\n<pre class=\"lang:sh decode:true \">&gt; nvm ls<\/pre>\n<p>che permetter\u00e0 di avere idea completa di tutte le versioni a nostra disposizione sulla macchina.<\/p>\n<p>Dando uno sguardo a quanto illustrato sulla pagina ufficiale del progetto si pu\u00f2 vedere quanto <em>nvm<\/em> sia ricco di comandi e opzioni per poter manovrare al meglio le nostre installazioni Node.js. Tra l&#8217;altro, per gli utenti Windows ci sono un paio di alternative, <a href=\"https:\/\/github.com\/coreybutler\/nvm-windows\" target=\"_blank\" rel=\"noopener\">nvm-windows<\/a> e <a href=\"https:\/\/github.com\/marcelklehr\/nodist\" target=\"_blank\" rel=\"noopener\">nodist<\/a>.<\/p>\n<p>Il progetto \u00e8 ancora in sviluppo e non mancher\u00e0 di riservare sorprese: noi continueremo a seguirlo e vi terremo sempre aggiornati.<\/p>\n<p>Alla prossima!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Node.js \u00e8 un ambiente in continua evoluzione e le sue versioni si alternano rapidamente da anni. Lo&#8230;<\/p>\n","protected":false},"author":561,"featured_media":12967,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[7],"tags":[1538,1721,1537,1539,1863],"class_list":["post-12755","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-strumenti-di-sviluppo","tag-javascript","tag-linux","tag-node-js","tag-npm","tag-nvm"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12755","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/users\/561"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=12755"}],"version-history":[{"count":3,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12755\/revisions"}],"predecessor-version":[{"id":13257,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12755\/revisions\/13257"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media\/12967"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=12755"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=12755"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=12755"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}