{"id":5228,"date":"2016-11-15T19:43:00","date_gmt":"2016-11-15T19:43:00","guid":{"rendered":"http:\/\/www.garysieling.com\/blog\/?p=5228"},"modified":"2016-11-15T19:43:00","modified_gmt":"2016-11-15T19:43:00","slug":"using-sonatype-nexus-yarn-npm-replacement","status":"publish","type":"post","link":"https:\/\/www.garysieling.com\/blog\/using-sonatype-nexus-yarn-npm-replacement\/","title":{"rendered":"Using Sonatype Nexus with Yarn (npm replacement)"},"content":{"rendered":"<p>If you use a Nexus server (an internal proxy or custom NPM repository), yarn currently doesn&#8217;t work quite correctly.<\/p>\n<p>To use your server, you need to do this:<\/p>\n<pre>\nvi ~\/.yarnrc\n<\/pre>\n<p>Add this:<\/p>\n<pre>\nregistry \"http:\/\/myserver:8081\/nexus\/content\/groups\/npm-all\/\/\"\n<\/pre>\n<p>The double slashes are important. If you have internal NPM libraries, you&#8217;ll need three things configured in Nexus: a proxy to NPM central, your private NPM, and a grouping proxy. Note that the order in the grouping is important, as you may or may not want packages locally named the same as in NPM central.<\/p>\n<p>If you don&#8217;t set this up correctly, you get errors like this:<\/p>\n<pre>\nerror Couldn't find package \"q\" on the \"npm\" registry.\nerror Couldn't find package \"backbone\" on the \"npm\" registry.\nerror Couldn't find package \"react\" on the \"npm\" registry.\nerror Couldn't find package \"moment\" on the \"npm\" registry.\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Using a Nexus Server with the Facebook Yarn project<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[9],"tags":[302,393,606],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"Using a Nexus Server with the Facebook Yarn project\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"gary\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.garysieling.com\/blog\/using-sonatype-nexus-yarn-npm-replacement\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Gary Sieling - Software Engineer\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Using Sonatype Nexus with Yarn (npm replacement) - Gary Sieling\" \/>\n\t\t<meta property=\"og:description\" content=\"Using a Nexus Server with the Facebook Yarn project\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.garysieling.com\/blog\/using-sonatype-nexus-yarn-npm-replacement\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2016-11-15T19:43:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2016-11-15T19:43:00+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Using Sonatype Nexus with Yarn (npm replacement) - Gary Sieling\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Using a Nexus Server with the Facebook Yarn project\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/using-sonatype-nexus-yarn-npm-replacement\\\/#blogposting\",\"name\":\"Using Sonatype Nexus with Yarn (npm replacement) - Gary Sieling\",\"headline\":\"Using Sonatype Nexus with Yarn (npm replacement)\",\"author\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\"},\"datePublished\":\"2016-11-15T19:43:00+00:00\",\"dateModified\":\"2016-11-15T19:43:00+00:00\",\"inLanguage\":\"en-US\",\"commentCount\":1,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/using-sonatype-nexus-yarn-npm-replacement\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/using-sonatype-nexus-yarn-npm-replacement\\\/#webpage\"},\"articleSection\":\"Errors, javascript, npm, yarn\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/using-sonatype-nexus-yarn-npm-replacement\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.garysieling.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/errors\\\/#listItem\",\"name\":\"Errors\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/errors\\\/#listItem\",\"position\":2,\"name\":\"Errors\",\"item\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/errors\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/using-sonatype-nexus-yarn-npm-replacement\\\/#listItem\",\"name\":\"Using Sonatype Nexus with Yarn (npm replacement)\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/using-sonatype-nexus-yarn-npm-replacement\\\/#listItem\",\"position\":3,\"name\":\"Using Sonatype Nexus with Yarn (npm replacement)\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/errors\\\/#listItem\",\"name\":\"Errors\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\",\"name\":\"Gary Sieling\",\"description\":\"Software Engineer\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/\",\"name\":\"gary\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/using-sonatype-nexus-yarn-npm-replacement\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0be925276d848ffe98a6a9dc8cf33e67?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"gary\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/using-sonatype-nexus-yarn-npm-replacement\\\/#webpage\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/using-sonatype-nexus-yarn-npm-replacement\\\/\",\"name\":\"Using Sonatype Nexus with Yarn (npm replacement) - Gary Sieling\",\"description\":\"Using a Nexus Server with the Facebook Yarn project\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/using-sonatype-nexus-yarn-npm-replacement\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"datePublished\":\"2016-11-15T19:43:00+00:00\",\"dateModified\":\"2016-11-15T19:43:00+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/\",\"name\":\"Gary Sieling\",\"description\":\"Software Engineer\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Using Sonatype Nexus with Yarn (npm replacement) - Gary Sieling","description":"Using a Nexus Server with the Facebook Yarn project","canonical_url":"https:\/\/www.garysieling.com\/blog\/using-sonatype-nexus-yarn-npm-replacement\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.garysieling.com\/blog\/using-sonatype-nexus-yarn-npm-replacement\/#blogposting","name":"Using Sonatype Nexus with Yarn (npm replacement) - Gary Sieling","headline":"Using Sonatype Nexus with Yarn (npm replacement)","author":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"publisher":{"@id":"https:\/\/www.garysieling.com\/blog\/#organization"},"datePublished":"2016-11-15T19:43:00+00:00","dateModified":"2016-11-15T19:43:00+00:00","inLanguage":"en-US","commentCount":1,"mainEntityOfPage":{"@id":"https:\/\/www.garysieling.com\/blog\/using-sonatype-nexus-yarn-npm-replacement\/#webpage"},"isPartOf":{"@id":"https:\/\/www.garysieling.com\/blog\/using-sonatype-nexus-yarn-npm-replacement\/#webpage"},"articleSection":"Errors, javascript, npm, yarn"},{"@type":"BreadcrumbList","@id":"https:\/\/www.garysieling.com\/blog\/using-sonatype-nexus-yarn-npm-replacement\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.garysieling.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/errors\/#listItem","name":"Errors"}},{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/errors\/#listItem","position":2,"name":"Errors","item":"https:\/\/www.garysieling.com\/blog\/category\/errors\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/using-sonatype-nexus-yarn-npm-replacement\/#listItem","name":"Using Sonatype Nexus with Yarn (npm replacement)"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/using-sonatype-nexus-yarn-npm-replacement\/#listItem","position":3,"name":"Using Sonatype Nexus with Yarn (npm replacement)","previousItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/errors\/#listItem","name":"Errors"}}]},{"@type":"Organization","@id":"https:\/\/www.garysieling.com\/blog\/#organization","name":"Gary Sieling","description":"Software Engineer","url":"https:\/\/www.garysieling.com\/blog\/"},{"@type":"Person","@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author","url":"https:\/\/www.garysieling.com\/blog\/author\/gary\/","name":"gary","image":{"@type":"ImageObject","@id":"https:\/\/www.garysieling.com\/blog\/using-sonatype-nexus-yarn-npm-replacement\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/0be925276d848ffe98a6a9dc8cf33e67?s=96&d=identicon&r=g","width":96,"height":96,"caption":"gary"}},{"@type":"WebPage","@id":"https:\/\/www.garysieling.com\/blog\/using-sonatype-nexus-yarn-npm-replacement\/#webpage","url":"https:\/\/www.garysieling.com\/blog\/using-sonatype-nexus-yarn-npm-replacement\/","name":"Using Sonatype Nexus with Yarn (npm replacement) - Gary Sieling","description":"Using a Nexus Server with the Facebook Yarn project","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.garysieling.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.garysieling.com\/blog\/using-sonatype-nexus-yarn-npm-replacement\/#breadcrumblist"},"author":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"creator":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"datePublished":"2016-11-15T19:43:00+00:00","dateModified":"2016-11-15T19:43:00+00:00"},{"@type":"WebSite","@id":"https:\/\/www.garysieling.com\/blog\/#website","url":"https:\/\/www.garysieling.com\/blog\/","name":"Gary Sieling","description":"Software Engineer","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.garysieling.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Gary Sieling - Software Engineer","og:type":"article","og:title":"Using Sonatype Nexus with Yarn (npm replacement) - Gary Sieling","og:description":"Using a Nexus Server with the Facebook Yarn project","og:url":"https:\/\/www.garysieling.com\/blog\/using-sonatype-nexus-yarn-npm-replacement\/","article:published_time":"2016-11-15T19:43:00+00:00","article:modified_time":"2016-11-15T19:43:00+00:00","twitter:card":"summary_large_image","twitter:title":"Using Sonatype Nexus with Yarn (npm replacement) - Gary Sieling","twitter:description":"Using a Nexus Server with the Facebook Yarn project"},"aioseo_meta_data":{"post_id":"5228","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2023-02-04 17:07:39","updated":"2026-07-06 02:17:35","ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.garysieling.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.garysieling.com\/blog\/category\/errors\/\" title=\"Errors\">Errors<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tUsing Sonatype Nexus with Yarn (npm replacement)\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.garysieling.com\/blog"},{"label":"Errors","link":"https:\/\/www.garysieling.com\/blog\/category\/errors\/"},{"label":"Using Sonatype Nexus with Yarn (npm replacement)","link":"https:\/\/www.garysieling.com\/blog\/using-sonatype-nexus-yarn-npm-replacement\/"}],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts\/5228"}],"collection":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/comments?post=5228"}],"version-history":[{"count":0,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts\/5228\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/media?parent=5228"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/categories?post=5228"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/tags?post=5228"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}