{"id":3132,"date":"2020-02-04T15:40:02","date_gmt":"2020-02-04T15:40:02","guid":{"rendered":"https:\/\/ionicframework.com\/blog\/?p=3132"},"modified":"2023-07-18T11:56:55","modified_gmt":"2023-07-18T15:56:55","slug":"a-new-package-for-the-cli","status":"publish","type":"post","link":"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli","title":{"rendered":"A New Package for the CLI"},"content":{"rendered":"<p>TL;DR, we&#8217;re re-releasing the CLI package under a new name, <code>@ionic\/cli<\/code>!<br \/>\nTo update, first you will need to uninstall the old CLI package.<\/p>\n<pre><code class=\"language-shell\">$ npm uninstall -g ionic\n$ npm install -g @ionic\/cli\n<\/code><\/pre>\n<p>You will still interact with the CLI via <code>ionic<\/code> command, just how the CLI is installed has changed. And now, on with the blog post!<\/p>\n<p><!--more--><\/p>\n<h2>Everything has a beginning<\/h2>\n<p>Many years ago, when Ionic was still in it&#8217;s pre 1.0, we saw a great opportunity to help devs build amazing apps without having to guess how that would be done. While the V1 days of Ionic included things like bower, scripts tags, and gulp, it was our first attempt to make a tool that did everything for you. After building out all the initial functionality, we had one last task&#8230;what do we call this tool?<\/p>\n<p>We called it&#8230;Ionic!<\/p>\n<p>Our initial logic was that we would have one tool and one framework that covered everything. Want to build apps with Ionic? Just install Ionic. This worked great, and for a long time we were set on just keeping things as they were. That is until we started noticing a common point of confusion with our users.<\/p>\n<h2>What version of Ionic are you using?<\/h2>\n<p>When debugging a user issue or working with community members, one of the first things we ask people is &#8220;What version of Ionic are you using?&#8221; This has led to some confusion in the community as people would assume that <code>ionic -v<\/code> would give them the version of both the framework and the CLI. This however is not the case. One or two instances would be enough to ignore this, but given how common this is, we thought it was finally time to solve this issue.<\/p>\n<p>As the number of packages under the Ionic organization has grown, we would ship them under the scoped package name. Our release of Ionic for Angular? <code>@ionic\/angular<\/code>. React? <code>@ionic\/react<\/code>. This is a pretty clear message that when you install one of these packages, you know exactly what you are getting. There is no confusion in this package&#8217;s purpose or what context this package should be used in.<\/p>\n<h2>Moving towards a scoped package<\/h2>\n<p>To help with this confusion, we&#8217;re rereleasing the CLI package under a new name, <code>@ionic\/cli<\/code>. This unifies how we ship tools across Ionic and make sure that people are aware what tool they are installing when setting up their environment. I mentioned this last week in an Ionic newsletter and so far the feedback from the community has been incredibly supportive.<\/p>\n<p>In the past this has been a suggestion that many community members have made and as time has gone on, it seems to be the move many other CLI tools have done. Angular in particular rebranded the <code>angular-cli<\/code> package in favor of <code>@angular\/cli<\/code> and the Vue CLI has done the same thing (<code>vue-cli<\/code> to <code>@vue\/cli<\/code>). With this in mind, we finally decided it was time.<\/p>\n<p>To update to the new CLI, you must first uninstall the old CLI package:<\/p>\n<pre><code class=\"language-shell\">$ npm uninstall -g ionic\n\n# Then install the new CLI package\n$ npm install -g @ionic\/cli\n<\/code><\/pre>\n<p>This new package name coincides with the release of the CLI\u2019s 6.0. This includes some new features which can all be reviewed in the <a href=\"https:\/\/github.com\/ionic-team\/ionic-cli\/blob\/develop\/packages\/%40ionic\/cli\/CHANGELOG.md#600-2020-01-25\">Changelog<\/a>.<\/p>\n<p>The old CLI package will not be updated to the newer 6.0 releases and has an official deprecated warning now. While this should work for some time, we encourage everyone to update to the new CLI package to receive all the latest updates.<\/p>\n<p>Well that\u2019s all for now folks! We are glad the feedback so far has been super supportive of this change and can\u2019t wait for you all to upgrade\u2026.Seriously, we can\u2019t wait. Upgrade your CLI \ud83d\ude04.<br \/>\nCheers!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TL;DR, we&#8217;re re-releasing the CLI package under a new name, @ionic\/cli! To update, first you will need to uninstall the old CLI package. $ npm uninstall -g ionic $ npm install -g @ionic\/cli You will still interact with the CLI via ionic command, just how the CLI is installed has changed. And now, on with [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":3133,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"publish_to_discourse":"","publish_post_category":"","wpdc_auto_publish_overridden":"","wpdc_topic_tags":"","wpdc_pin_topic":"","wpdc_pin_until":"","discourse_post_id":"","discourse_permalink":"","wpdc_publishing_response":"","wpdc_publishing_error":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1,120],"tags":[29,3,41],"class_list":["post-3132","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-all","category-announcements","tag-cli","tag-ionic","tag-ionic-cli"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v23.0 (Yoast SEO v23.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>A New Package for the CLI - Ionic Blog<\/title>\n<meta name=\"description\" content=\"&quot;TL;DR, we\u2019re re-releasing the CLI package under a new name, @ionic\/cli!Here&#039;s what you need to know about that update.&quot;\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A New Package for the CLI\" \/>\n<meta property=\"og:description\" content=\"&quot;TL;DR, we\u2019re re-releasing the CLI package under a new name, @ionic\/cli!Here&#039;s what you need to know about that update.&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli\" \/>\n<meta property=\"og:site_name\" content=\"Ionic Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-02-04T15:40:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-07-18T15:56:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/02\/ionic-cli-6.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"880\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Mike Hartington\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mhartington\" \/>\n<meta name=\"twitter:site\" content=\"@ionicframework\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mike Hartington\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli#article\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli\"},\"author\":{\"name\":\"Mike Hartington\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/c8c92b04d526adb925ea514c619a267b\"},\"headline\":\"A New Package for the CLI\",\"datePublished\":\"2020-02-04T15:40:02+00:00\",\"dateModified\":\"2023-07-18T15:56:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli\"},\"wordCount\":600,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/02\/ionic-cli-6.png\",\"keywords\":[\"CLI\",\"Ionic\",\"Ionic CLI\"],\"articleSection\":[\"All\",\"Announcements\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli\",\"url\":\"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli\",\"name\":\"A New Package for the CLI - Ionic Blog\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli#primaryimage\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/02\/ionic-cli-6.png\",\"datePublished\":\"2020-02-04T15:40:02+00:00\",\"dateModified\":\"2023-07-18T15:56:55+00:00\",\"description\":\"\\\"TL;DR, we\u2019re re-releasing the CLI package under a new name, @ionic\/cli!Here's what you need to know about that update.\\\"\",\"breadcrumb\":{\"@id\":\"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli#primaryimage\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/02\/ionic-cli-6.png\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/02\/ionic-cli-6.png\",\"width\":1600,\"height\":880,\"caption\":\"terminal showing cli installation commands\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ionic.io\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"A New Package for the CLI\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/ionic.io\/blog\/#website\",\"url\":\"https:\/\/ionic.io\/blog\/\",\"name\":\"ionic.io\/blog\",\"description\":\"Build amazing native and progressive web apps with the web\",\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/ionic.io\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/ionic.io\/blog\/#organization\",\"name\":\"Ionic\",\"url\":\"https:\/\/ionic.io\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png\",\"width\":1920,\"height\":854,\"caption\":\"Ionic\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/ionicframework\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/c8c92b04d526adb925ea514c619a267b\",\"name\":\"Mike Hartington\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/08\/mike-headshot-2-smaller-150x150.png\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/08\/mike-headshot-2-smaller-150x150.png\",\"caption\":\"Mike Hartington\"},\"description\":\"Director of Developer Relations\",\"sameAs\":[\"https:\/\/twitter.com\/mhartington\",\"https:\/\/x.com\/mhartington\"],\"url\":\"https:\/\/ionic.io\/blog\/author\/mike\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"A New Package for the CLI - Ionic Blog","description":"\"TL;DR, we\u2019re re-releasing the CLI package under a new name, @ionic\/cli!Here's what you need to know about that update.\"","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli","og_locale":"en_US","og_type":"article","og_title":"A New Package for the CLI","og_description":"\"TL;DR, we\u2019re re-releasing the CLI package under a new name, @ionic\/cli!Here's what you need to know about that update.\"","og_url":"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli","og_site_name":"Ionic Blog","article_published_time":"2020-02-04T15:40:02+00:00","article_modified_time":"2023-07-18T15:56:55+00:00","og_image":[{"width":1600,"height":880,"url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/02\/ionic-cli-6.png","type":"image\/png"}],"author":"Mike Hartington","twitter_card":"summary_large_image","twitter_creator":"@mhartington","twitter_site":"@ionicframework","twitter_misc":{"Written by":"Mike Hartington","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli#article","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli"},"author":{"name":"Mike Hartington","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/c8c92b04d526adb925ea514c619a267b"},"headline":"A New Package for the CLI","datePublished":"2020-02-04T15:40:02+00:00","dateModified":"2023-07-18T15:56:55+00:00","mainEntityOfPage":{"@id":"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli"},"wordCount":600,"commentCount":0,"publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"image":{"@id":"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/02\/ionic-cli-6.png","keywords":["CLI","Ionic","Ionic CLI"],"articleSection":["All","Announcements"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ionic.io\/blog\/a-new-package-for-the-cli#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli","url":"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli","name":"A New Package for the CLI - Ionic Blog","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli#primaryimage"},"image":{"@id":"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/02\/ionic-cli-6.png","datePublished":"2020-02-04T15:40:02+00:00","dateModified":"2023-07-18T15:56:55+00:00","description":"\"TL;DR, we\u2019re re-releasing the CLI package under a new name, @ionic\/cli!Here's what you need to know about that update.\"","breadcrumb":{"@id":"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ionic.io\/blog\/a-new-package-for-the-cli"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli#primaryimage","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/02\/ionic-cli-6.png","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/02\/ionic-cli-6.png","width":1600,"height":880,"caption":"terminal showing cli installation commands"},{"@type":"BreadcrumbList","@id":"https:\/\/ionic.io\/blog\/a-new-package-for-the-cli#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ionic.io\/blog"},{"@type":"ListItem","position":2,"name":"A New Package for the CLI"}]},{"@type":"WebSite","@id":"https:\/\/ionic.io\/blog\/#website","url":"https:\/\/ionic.io\/blog\/","name":"ionic.io\/blog","description":"Build amazing native and progressive web apps with the web","publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ionic.io\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ionic.io\/blog\/#organization","name":"Ionic","url":"https:\/\/ionic.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png","width":1920,"height":854,"caption":"Ionic"},"image":{"@id":"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/ionicframework"]},{"@type":"Person","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/c8c92b04d526adb925ea514c619a267b","name":"Mike Hartington","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/08\/mike-headshot-2-smaller-150x150.png","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/08\/mike-headshot-2-smaller-150x150.png","caption":"Mike Hartington"},"description":"Director of Developer Relations","sameAs":["https:\/\/twitter.com\/mhartington","https:\/\/x.com\/mhartington"],"url":"https:\/\/ionic.io\/blog\/author\/mike"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/02\/ionic-cli-6.png","_links":{"self":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/3132","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/comments?post=3132"}],"version-history":[{"count":1,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/3132\/revisions"}],"predecessor-version":[{"id":5496,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/3132\/revisions\/5496"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media\/3133"}],"wp:attachment":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media?parent=3132"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/categories?post=3132"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/tags?post=3132"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}