{"action":"created","comment":{"url":"https://api.github.com/repos/FreeCodeCamp/wiki/pulls/comments/56763513","id":56763513,"diff_hunk":"@@ -0,0 +1,35 @@\n+# Installing CLI Tools Developers Should Not Live Without (Linux and Mac)\n+\n+This article is a short description on how to install key command line utilities that developers use everyday on Macintosh and Linux environments. The main CLI tools that will be shown are: Homebrew (Mac), Node and NPM, Bower, Gulp and Grunt.\n+\n+### Installing Homebrew (Macintosh Systems)\n+\n+Homebrew is ‘The missing package manager for OS X’. It is a great tool for downloading and installing packages straight from your command line. This is not needed on Linux distributions because they already have package managers installed by default such as `apt-get` or `pacman`. To install Homebrew, simply paste the following command in your terminal:\n+* `/usr/bin/ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\"`\n+\n+### Installing NPM\n+\n+`NPM`, or Node Package Manager, is another useful package manager for downloading mostly web tools. Downloading `NPM` will also install the Node.js framework.\n+\n+##### Mac:\n+* Using `Homebrew` type: `brew install node` and `NPM` should have been installed.\n+\n+##### Linux:\n+* Using `apt-get` first type: `curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -`, then `sudo apt-get install nodejs`\n+* Using `pacman` type: `pacman -S nodejs npm`\n+* Using `yum` type: `sudo yum install nodejs npm`\n+\n+### Installing Bower\n+Bower is a popular package manager that allows you to install front-end libraries. You can install it on Linux and Macintosh systems using `npm` with the following command:\n+* `npm install bower`\n+(Same command for both Linux and OS X)\n+\n+### Installing Gulp","path":"Installing-Necessary-CLI-Tools.md","position":27,"original_position":27,"commit_id":"5ab5dc988f741c8977c328041201130557885133","original_commit_id":"5ab5dc988f741c8977c328041201130557885133","user":{"login":"alayek","id":5607371,"avatar_url":"https://avatars.githubusercontent.com/u/5607371?v=3","gravatar_id":"","url":"https://api.github.com/users/alayek","html_url":"https://github.com/alayek","followers_url":"https://api.github.com/users/alayek/followers","following_url":"https://api.github.com/users/alayek/following{/other_user}","gists_url":"https://api.github.com/users/alayek/gists{/gist_id}","starred_url":"https://api.github.com/users/alayek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alayek/subscriptions","organizations_url":"https://api.github.com/users/alayek/orgs","repos_url":"https://api.github.com/users/alayek/repos","events_url":"https://api.github.com/users/alayek/events{/privacy}","received_events_url":"https://api.github.com/users/alayek/received_events","type":"User","site_admin":false},"body":"It would be a good idea to mention it to the reader that Gulp and Grunt both are task runners, but one focuses on config while other focuses on code. \r\n\r\nSo if they have one, they might not need the other.","created_at":"2016-03-20T12:25:23Z","updated_at":"2016-03-20T12:25:23Z","html_url":"https://github.com/FreeCodeCamp/wiki/pull/619#discussion_r56763513","pull_request_url":"https://api.github.com/repos/FreeCodeCamp/wiki/pulls/619","_links":{"self":{"href":"https://api.github.com/repos/FreeCodeCamp/wiki/pulls/comments/56763513"},"html":{"href":"https://github.com/FreeCodeCamp/wiki/pull/619#discussion_r56763513"},"pull_request":{"href":"https://api.github.com/repos/FreeCodeCamp/wiki/pulls/619"}}},"pull_request":{"url":"https://api.github.com/repos/FreeCodeCamp/wiki/pulls/619","id":63489330,"html_url":"https://github.com/FreeCodeCamp/wiki/pull/619","diff_url":"https://github.com/FreeCodeCamp/wiki/pull/619.diff","patch_url":"https://github.com/FreeCodeCamp/wiki/pull/619.patch","issue_url":"https://api.github.com/repos/FreeCodeCamp/wiki/issues/619","number":619,"state":"open","locked":false,"title":"Create a wiki article on installing CLI tools","user":{"login":"mAzurkovic","id":8943122,"avatar_url":"https://avatars.githubusercontent.com/u/8943122?v=3","gravatar_id":"","url":"https://api.github.com/users/mAzurkovic","html_url":"https://github.com/mAzurkovic","followers_url":"https://api.github.com/users/mAzurkovic/followers","following_url":"https://api.github.com/users/mAzurkovic/following{/other_user}","gists_url":"https://api.github.com/users/mAzurkovic/gists{/gist_id}","starred_url":"https://api.github.com/users/mAzurkovic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mAzurkovic/subscriptions","organizations_url":"https://api.github.com/users/mAzurkovic/orgs","repos_url":"https://api.github.com/users/mAzurkovic/repos","events_url":"https://api.github.com/users/mAzurkovic/events{/privacy}","received_events_url":"https://api.github.com/users/mAzurkovic/received_events","type":"User","site_admin":false},"body":"This article will explain to readers how to install widely used CLI tools for web development.","created_at":"2016-03-20T07:40:41Z","updated_at":"2016-03-20T12:25:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2fff050986aa196ef8545198c1284bcfe4f3d8de","assignee":null,"milestone":{"url":"https://api.github.com/repos/FreeCodeCamp/wiki/milestones/4","html_url":"https://github.com/FreeCodeCamp/wiki/milestones/Create%20Article","labels_url":"https://api.github.com/repos/FreeCodeCamp/wiki/milestones/4/labels","id":1650410,"number":4,"title":"Create Article","description":"Create new articles for wiki","creator":{"login":"abhisekp","id":1029200,"avatar_url":"https://avatars.githubusercontent.com/u/1029200?v=3","gravatar_id":"","url":"https://api.github.com/users/abhisekp","html_url":"https://github.com/abhisekp","followers_url":"https://api.github.com/users/abhisekp/followers","following_url":"https://api.github.com/users/abhisekp/following{/other_user}","gists_url":"https://api.github.com/users/abhisekp/gists{/gist_id}","starred_url":"https://api.github.com/users/abhisekp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abhisekp/subscriptions","organizations_url":"https://api.github.com/users/abhisekp/orgs","repos_url":"https://api.github.com/users/abhisekp/repos","events_url":"https://api.github.com/users/abhisekp/events{/privacy}","received_events_url":"https://api.github.com/users/abhisekp/received_events","type":"User","site_admin":false},"open_issues":23,"closed_issues":0,"state":"open","created_at":"2016-03-17T07:54:01Z","updated_at":"2016-03-20T07:45:40Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/FreeCodeCamp/wiki/pulls/619/commits","review_comments_url":"https://api.github.com/repos/FreeCodeCamp/wiki/pulls/619/comments","review_comment_url":"https://api.github.com/repos/FreeCodeCamp/wiki/pulls/comments{/number}","comments_url":"https://api.github.com/repos/FreeCodeCamp/wiki/issues/619/comments","statuses_url":"https://api.github.com/repos/FreeCodeCamp/wiki/statuses/5ab5dc988f741c8977c328041201130557885133","head":{"label":"mAzurkovic:patch-1","ref":"patch-1","sha":"5ab5dc988f741c8977c328041201130557885133","user":{"login":"mAzurkovic","id":8943122,"avatar_url":"https://avatars.githubusercontent.com/u/8943122?v=3","gravatar_id":"","url":"https://api.github.com/users/mAzurkovic","html_url":"https://github.com/mAzurkovic","followers_url":"https://api.github.com/users/mAzurkovic/followers","following_url":"https://api.github.com/users/mAzurkovic/following{/other_user}","gists_url":"https://api.github.com/users/mAzurkovic/gists{/gist_id}","starred_url":"https://api.github.com/users/mAzurkovic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mAzurkovic/subscriptions","organizations_url":"https://api.github.com/users/mAzurkovic/orgs","repos_url":"https://api.github.com/users/mAzurkovic/repos","events_url":"https://api.github.com/users/mAzurkovic/events{/privacy}","received_events_url":"https://api.github.com/users/mAzurkovic/received_events","type":"User","site_admin":false},"repo":{"id":54304790,"name":"wiki","full_name":"mAzurkovic/wiki","owner":{"login":"mAzurkovic","id":8943122,"avatar_url":"https://avatars.githubusercontent.com/u/8943122?v=3","gravatar_id":"","url":"https://api.github.com/users/mAzurkovic","html_url":"https://github.com/mAzurkovic","followers_url":"https://api.github.com/users/mAzurkovic/followers","following_url":"https://api.github.com/users/mAzurkovic/following{/other_user}","gists_url":"https://api.github.com/users/mAzurkovic/gists{/gist_id}","starred_url":"https://api.github.com/users/mAzurkovic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mAzurkovic/subscriptions","organizations_url":"https://api.github.com/users/mAzurkovic/orgs","repos_url":"https://api.github.com/users/mAzurkovic/repos","events_url":"https://api.github.com/users/mAzurkovic/events{/privacy}","received_events_url":"https://api.github.com/users/mAzurkovic/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mAzurkovic/wiki","description":"Free Code Camp's wiki articles","fork":true,"url":"https://api.github.com/repos/mAzurkovic/wiki","forks_url":"https://api.github.com/repos/mAzurkovic/wiki/forks","keys_url":"https://api.github.com/repos/mAzurkovic/wiki/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mAzurkovic/wiki/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mAzurkovic/wiki/teams","hooks_url":"https://api.github.com/repos/mAzurkovic/wiki/hooks","issue_events_url":"https://api.github.com/repos/mAzurkovic/wiki/issues/events{/number}","events_url":"https://api.github.com/repos/mAzurkovic/wiki/events","assignees_url":"https://api.github.com/repos/mAzurkovic/wiki/assignees{/user}","branches_url":"https://api.github.com/repos/mAzurkovic/wiki/branches{/branch}","tags_url":"https://api.github.com/repos/mAzurkovic/wiki/tags","blobs_url":"https://api.github.com/repos/mAzurkovic/wiki/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mAzurkovic/wiki/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mAzurkovic/wiki/git/refs{/sha}","trees_url":"https://api.github.com/repos/mAzurkovic/wiki/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mAzurkovic/wiki/statuses/{sha}","languages_url":"https://api.github.com/repos/mAzurkovic/wiki/languages","stargazers_url":"https://api.github.com/repos/mAzurkovic/wiki/stargazers","contributors_url":"https://api.github.com/repos/mAzurkovic/wiki/contributors","subscribers_url":"https://api.github.com/repos/mAzurkovic/wiki/subscribers","subscription_url":"https://api.github.com/repos/mAzurkovic/wiki/subscription","commits_url":"https://api.github.com/repos/mAzurkovic/wiki/commits{/sha}","git_commits_url":"https://api.github.com/repos/mAzurkovic/wiki/git/commits{/sha}","comments_url":"https://api.github.com/repos/mAzurkovic/wiki/comments{/number}","issue_comment_url":"https://api.github.com/repos/mAzurkovic/wiki/issues/comments{/number}","contents_url":"https://api.github.com/repos/mAzurkovic/wiki/contents/{+path}","compare_url":"https://api.github.com/repos/mAzurkovic/wiki/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mAzurkovic/wiki/merges","archive_url":"https://api.github.com/repos/mAzurkovic/wiki/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mAzurkovic/wiki/downloads","issues_url":"https://api.github.com/repos/mAzurkovic/wiki/issues{/number}","pulls_url":"https://api.github.com/repos/mAzurkovic/wiki/pulls{/number}","milestones_url":"https://api.github.com/repos/mAzurkovic/wiki/milestones{/number}","notifications_url":"https://api.github.com/repos/mAzurkovic/wiki/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mAzurkovic/wiki/labels{/name}","releases_url":"https://api.github.com/repos/mAzurkovic/wiki/releases{/id}","deployments_url":"https://api.github.com/repos/mAzurkovic/wiki/deployments","created_at":"2016-03-20T06:54:53Z","updated_at":"2016-03-20T06:54:54Z","pushed_at":"2016-03-20T07:39:09Z","git_url":"git://github.com/mAzurkovic/wiki.git","ssh_url":"git@github.com:mAzurkovic/wiki.git","clone_url":"https://github.com/mAzurkovic/wiki.git","svn_url":"https://github.com/mAzurkovic/wiki","homepage":"http://www.freecodecamp.com/wiki","size":15830,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"FreeCodeCamp:master","ref":"master","sha":"2d6b505184e88c18c0949007556456a5fb3d8187","user":{"login":"FreeCodeCamp","id":9892522,"avatar_url":"https://avatars.githubusercontent.com/u/9892522?v=3","gravatar_id":"","url":"https://api.github.com/users/FreeCodeCamp","html_url":"https://github.com/FreeCodeCamp","followers_url":"https://api.github.com/users/FreeCodeCamp/followers","following_url":"https://api.github.com/users/FreeCodeCamp/following{/other_user}","gists_url":"https://api.github.com/users/FreeCodeCamp/gists{/gist_id}","starred_url":"https://api.github.com/users/FreeCodeCamp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FreeCodeCamp/subscriptions","organizations_url":"https://api.github.com/users/FreeCodeCamp/orgs","repos_url":"https://api.github.com/users/FreeCodeCamp/repos","events_url":"https://api.github.com/users/FreeCodeCamp/events{/privacy}","received_events_url":"https://api.github.com/users/FreeCodeCamp/received_events","type":"Organization","site_admin":false},"repo":{"id":45327911,"name":"wiki","full_name":"FreeCodeCamp/wiki","owner":{"login":"FreeCodeCamp","id":9892522,"avatar_url":"https://avatars.githubusercontent.com/u/9892522?v=3","gravatar_id":"","url":"https://api.github.com/users/FreeCodeCamp","html_url":"https://github.com/FreeCodeCamp","followers_url":"https://api.github.com/users/FreeCodeCamp/followers","following_url":"https://api.github.com/users/FreeCodeCamp/following{/other_user}","gists_url":"https://api.github.com/users/FreeCodeCamp/gists{/gist_id}","starred_url":"https://api.github.com/users/FreeCodeCamp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FreeCodeCamp/subscriptions","organizations_url":"https://api.github.com/users/FreeCodeCamp/orgs","repos_url":"https://api.github.com/users/FreeCodeCamp/repos","events_url":"https://api.github.com/users/FreeCodeCamp/events{/privacy}","received_events_url":"https://api.github.com/users/FreeCodeCamp/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/FreeCodeCamp/wiki","description":"Free Code Camp's wiki articles","fork":false,"url":"https://api.github.com/repos/FreeCodeCamp/wiki","forks_url":"https://api.github.com/repos/FreeCodeCamp/wiki/forks","keys_url":"https://api.github.com/repos/FreeCodeCamp/wiki/keys{/key_id}","collaborators_url":"https://api.github.com/repos/FreeCodeCamp/wiki/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/FreeCodeCamp/wiki/teams","hooks_url":"https://api.github.com/repos/FreeCodeCamp/wiki/hooks","issue_events_url":"https://api.github.com/repos/FreeCodeCamp/wiki/issues/events{/number}","events_url":"https://api.github.com/repos/FreeCodeCamp/wiki/events","assignees_url":"https://api.github.com/repos/FreeCodeCamp/wiki/assignees{/user}","branches_url":"https://api.github.com/repos/FreeCodeCamp/wiki/branches{/branch}","tags_url":"https://api.github.com/repos/FreeCodeCamp/wiki/tags","blobs_url":"https://api.github.com/repos/FreeCodeCamp/wiki/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/FreeCodeCamp/wiki/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/FreeCodeCamp/wiki/git/refs{/sha}","trees_url":"https://api.github.com/repos/FreeCodeCamp/wiki/git/trees{/sha}","statuses_url":"https://api.github.com/repos/FreeCodeCamp/wiki/statuses/{sha}","languages_url":"https://api.github.com/repos/FreeCodeCamp/wiki/languages","stargazers_url":"https://api.github.com/repos/FreeCodeCamp/wiki/stargazers","contributors_url":"https://api.github.com/repos/FreeCodeCamp/wiki/contributors","subscribers_url":"https://api.github.com/repos/FreeCodeCamp/wiki/subscribers","subscription_url":"https://api.github.com/repos/FreeCodeCamp/wiki/subscription","commits_url":"https://api.github.com/repos/FreeCodeCamp/wiki/commits{/sha}","git_commits_url":"https://api.github.com/repos/FreeCodeCamp/wiki/git/commits{/sha}","comments_url":"https://api.github.com/repos/FreeCodeCamp/wiki/comments{/number}","issue_comment_url":"https://api.github.com/repos/FreeCodeCamp/wiki/issues/comments{/number}","contents_url":"https://api.github.com/repos/FreeCodeCamp/wiki/contents/{+path}","compare_url":"https://api.github.com/repos/FreeCodeCamp/wiki/compare/{base}...{head}","merges_url":"https://api.github.com/repos/FreeCodeCamp/wiki/merges","archive_url":"https://api.github.com/repos/FreeCodeCamp/wiki/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/FreeCodeCamp/wiki/downloads","issues_url":"https://api.github.com/repos/FreeCodeCamp/wiki/issues{/number}","pulls_url":"https://api.github.com/repos/FreeCodeCamp/wiki/pulls{/number}","milestones_url":"https://api.github.com/repos/FreeCodeCamp/wiki/milestones{/number}","notifications_url":"https://api.github.com/repos/FreeCodeCamp/wiki/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/FreeCodeCamp/wiki/labels{/name}","releases_url":"https://api.github.com/repos/FreeCodeCamp/wiki/releases{/id}","deployments_url":"https://api.github.com/repos/FreeCodeCamp/wiki/deployments","created_at":"2015-11-01T04:14:19Z","updated_at":"2016-03-20T09:03:04Z","pushed_at":"2016-03-20T07:40:41Z","git_url":"git://github.com/FreeCodeCamp/wiki.git","ssh_url":"git@github.com:FreeCodeCamp/wiki.git","clone_url":"https://github.com/FreeCodeCamp/wiki.git","svn_url":"https://github.com/FreeCodeCamp/wiki","homepage":"http://www.freecodecamp.com/wiki","size":17400,"stargazers_count":132,"watchers_count":132,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":206,"mirror_url":null,"open_issues_count":58,"forks":206,"open_issues":58,"watchers":132,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/FreeCodeCamp/wiki/pulls/619"},"html":{"href":"https://github.com/FreeCodeCamp/wiki/pull/619"},"issue":{"href":"https://api.github.com/repos/FreeCodeCamp/wiki/issues/619"},"comments":{"href":"https://api.github.com/repos/FreeCodeCamp/wiki/issues/619/comments"},"review_comments":{"href":"https://api.github.com/repos/FreeCodeCamp/wiki/pulls/619/comments"},"review_comment":{"href":"https://api.github.com/repos/FreeCodeCamp/wiki/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/FreeCodeCamp/wiki/pulls/619/commits"},"statuses":{"href":"https://api.github.com/repos/FreeCodeCamp/wiki/statuses/5ab5dc988f741c8977c328041201130557885133"}}}}