{"action":"opened","number":4946,"pull_request":{"url":"https://api.github.com/repos/composer/composer/pulls/4946","id":60259268,"html_url":"https://github.com/composer/composer/pull/4946","diff_url":"https://github.com/composer/composer/pull/4946.diff","patch_url":"https://github.com/composer/composer/pull/4946.patch","issue_url":"https://api.github.com/repos/composer/composer/issues/4946","number":4946,"state":"open","locked":false,"title":"Added the --no-install option to the composer udpate","user":{"login":"Toflar","id":481937,"avatar_url":"https://avatars.githubusercontent.com/u/481937?v=3","gravatar_id":"","url":"https://api.github.com/users/Toflar","html_url":"https://github.com/Toflar","followers_url":"https://api.github.com/users/Toflar/followers","following_url":"https://api.github.com/users/Toflar/following{/other_user}","gists_url":"https://api.github.com/users/Toflar/gists{/gist_id}","starred_url":"https://api.github.com/users/Toflar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Toflar/subscriptions","organizations_url":"https://api.github.com/users/Toflar/orgs","repos_url":"https://api.github.com/users/Toflar/repos","events_url":"https://api.github.com/users/Toflar/events{/privacy}","received_events_url":"https://api.github.com/users/Toflar/received_events","type":"User","site_admin":false},"body":"Hi everybody,\r\n\r\nI've added the option to pass `--no-install` to `composer update` so it does solve the dependencies, writes the `composer.lock` file but does not effectively download all the packages.\r\n\r\nWhy?\r\nComposer gets more and more attention and for us php developers it's a must-have for many years already. However, there are a lot of content management systems still providing their own plugin system with their own package/extension/module managers and they slowly start to migrate or find solutions on how to make use of Composer and use it for their own plugin systems.\r\nNow, the thing is, a `composer update` uses a lot of memory and for us developers it's not a real issue because we execute that command locally anyway. However, I guess the majority of all these plugin managers of the respective CMS (or be it whatever software you want to) have been executed on the web server itself, right? The old way of doing stuff was uploading the php files to your server and then call some `install.php` or `config.php` do setup the system and load or install extensions/plugins to it.\r\n\r\nThese times have long gone for us developers. We use deployment scripts, CI servers and software etc. But for a lot of smaller software and rather regular users of those systems, things haven't changed much. They don't want to use the command line and they certainly don't want to install locally and deploy the data using scripts they have to configure.\r\nSo we still have to provide some kind of GUI and web installer which we can build on top of Composer. It's not an easy task but it is certainly feasible. However, I think we all agree that a `composer update` command requires a lot more RAM than you would normally expect a regular shared hosting to provide and it's not needed quite frankly because a `composer update` !== delivery of a regular website.\r\nHowever, `composer update` is the only thing that really needs a lot of RAM. If you already have a `composer.lock` and just call `composer install` you obviously won't have any memory issues normally.\r\n\r\nThis leads me to this PR. It's the foundation for any cloud based solution (`config/platform` already exists to mock a given platform) or anything else that resolves the dependencies using `composer update` and delivers the `composer.lock` so you can later install the dependencies using `composer install` yourself on the target server (like any deployment tool does as well). Whether it's a cloud based solution or you execute the command on your local computer and upload the `composer.lock` manually later doesn't really matter. In these cases it's just useless to download all the packages because you simply don't need them :smile: \r\n\r\nIt's my first PR for Composer, so please bear with me if I completely forgot about a use case. And please, if somebody could give me a hint on how I can integrate a unit test for this in the existing test suite, please feel free. I'm a bit lost in the mass of fixtures :smile: ","created_at":"2016-02-22T23:17:15Z","updated_at":"2016-02-22T23:17:15Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/composer/composer/pulls/4946/commits","review_comments_url":"https://api.github.com/repos/composer/composer/pulls/4946/comments","review_comment_url":"https://api.github.com/repos/composer/composer/pulls/comments{/number}","comments_url":"https://api.github.com/repos/composer/composer/issues/4946/comments","statuses_url":"https://api.github.com/repos/composer/composer/statuses/08684f18831ad5ded95abf344e138b95ec0a94f3","head":{"label":"Toflar:feature/update-no-install","ref":"feature/update-no-install","sha":"08684f18831ad5ded95abf344e138b95ec0a94f3","user":{"login":"Toflar","id":481937,"avatar_url":"https://avatars.githubusercontent.com/u/481937?v=3","gravatar_id":"","url":"https://api.github.com/users/Toflar","html_url":"https://github.com/Toflar","followers_url":"https://api.github.com/users/Toflar/followers","following_url":"https://api.github.com/users/Toflar/following{/other_user}","gists_url":"https://api.github.com/users/Toflar/gists{/gist_id}","starred_url":"https://api.github.com/users/Toflar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Toflar/subscriptions","organizations_url":"https://api.github.com/users/Toflar/orgs","repos_url":"https://api.github.com/users/Toflar/repos","events_url":"https://api.github.com/users/Toflar/events{/privacy}","received_events_url":"https://api.github.com/users/Toflar/received_events","type":"User","site_admin":false},"repo":{"id":52307551,"name":"composer","full_name":"Toflar/composer","owner":{"login":"Toflar","id":481937,"avatar_url":"https://avatars.githubusercontent.com/u/481937?v=3","gravatar_id":"","url":"https://api.github.com/users/Toflar","html_url":"https://github.com/Toflar","followers_url":"https://api.github.com/users/Toflar/followers","following_url":"https://api.github.com/users/Toflar/following{/other_user}","gists_url":"https://api.github.com/users/Toflar/gists{/gist_id}","starred_url":"https://api.github.com/users/Toflar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Toflar/subscriptions","organizations_url":"https://api.github.com/users/Toflar/orgs","repos_url":"https://api.github.com/users/Toflar/repos","events_url":"https://api.github.com/users/Toflar/events{/privacy}","received_events_url":"https://api.github.com/users/Toflar/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Toflar/composer","description":"Dependency Manager for PHP","fork":true,"url":"https://api.github.com/repos/Toflar/composer","forks_url":"https://api.github.com/repos/Toflar/composer/forks","keys_url":"https://api.github.com/repos/Toflar/composer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Toflar/composer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Toflar/composer/teams","hooks_url":"https://api.github.com/repos/Toflar/composer/hooks","issue_events_url":"https://api.github.com/repos/Toflar/composer/issues/events{/number}","events_url":"https://api.github.com/repos/Toflar/composer/events","assignees_url":"https://api.github.com/repos/Toflar/composer/assignees{/user}","branches_url":"https://api.github.com/repos/Toflar/composer/branches{/branch}","tags_url":"https://api.github.com/repos/Toflar/composer/tags","blobs_url":"https://api.github.com/repos/Toflar/composer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Toflar/composer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Toflar/composer/git/refs{/sha}","trees_url":"https://api.github.com/repos/Toflar/composer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Toflar/composer/statuses/{sha}","languages_url":"https://api.github.com/repos/Toflar/composer/languages","stargazers_url":"https://api.github.com/repos/Toflar/composer/stargazers","contributors_url":"https://api.github.com/repos/Toflar/composer/contributors","subscribers_url":"https://api.github.com/repos/Toflar/composer/subscribers","subscription_url":"https://api.github.com/repos/Toflar/composer/subscription","commits_url":"https://api.github.com/repos/Toflar/composer/commits{/sha}","git_commits_url":"https://api.github.com/repos/Toflar/composer/git/commits{/sha}","comments_url":"https://api.github.com/repos/Toflar/composer/comments{/number}","issue_comment_url":"https://api.github.com/repos/Toflar/composer/issues/comments{/number}","contents_url":"https://api.github.com/repos/Toflar/composer/contents/{+path}","compare_url":"https://api.github.com/repos/Toflar/composer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Toflar/composer/merges","archive_url":"https://api.github.com/repos/Toflar/composer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Toflar/composer/downloads","issues_url":"https://api.github.com/repos/Toflar/composer/issues{/number}","pulls_url":"https://api.github.com/repos/Toflar/composer/pulls{/number}","milestones_url":"https://api.github.com/repos/Toflar/composer/milestones{/number}","notifications_url":"https://api.github.com/repos/Toflar/composer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Toflar/composer/labels{/name}","releases_url":"https://api.github.com/repos/Toflar/composer/releases{/id}","deployments_url":"https://api.github.com/repos/Toflar/composer/deployments","created_at":"2016-02-22T21:33:19Z","updated_at":"2016-02-22T21:33:21Z","pushed_at":"2016-02-22T22:58:42Z","git_url":"git://github.com/Toflar/composer.git","ssh_url":"git@github.com:Toflar/composer.git","clone_url":"https://github.com/Toflar/composer.git","svn_url":"https://github.com/Toflar/composer","homepage":"https://getcomposer.org/","size":12483,"stargazers_count":0,"watchers_count":0,"language":"PHP","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":"composer:master","ref":"master","sha":"4c0e163977f8289288df7b37e0fd0469d3e8cbc6","user":{"login":"composer","id":837015,"avatar_url":"https://avatars.githubusercontent.com/u/837015?v=3","gravatar_id":"","url":"https://api.github.com/users/composer","html_url":"https://github.com/composer","followers_url":"https://api.github.com/users/composer/followers","following_url":"https://api.github.com/users/composer/following{/other_user}","gists_url":"https://api.github.com/users/composer/gists{/gist_id}","starred_url":"https://api.github.com/users/composer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/composer/subscriptions","organizations_url":"https://api.github.com/users/composer/orgs","repos_url":"https://api.github.com/users/composer/repos","events_url":"https://api.github.com/users/composer/events{/privacy}","received_events_url":"https://api.github.com/users/composer/received_events","type":"Organization","site_admin":false},"repo":{"id":1864363,"name":"composer","full_name":"composer/composer","owner":{"login":"composer","id":837015,"avatar_url":"https://avatars.githubusercontent.com/u/837015?v=3","gravatar_id":"","url":"https://api.github.com/users/composer","html_url":"https://github.com/composer","followers_url":"https://api.github.com/users/composer/followers","following_url":"https://api.github.com/users/composer/following{/other_user}","gists_url":"https://api.github.com/users/composer/gists{/gist_id}","starred_url":"https://api.github.com/users/composer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/composer/subscriptions","organizations_url":"https://api.github.com/users/composer/orgs","repos_url":"https://api.github.com/users/composer/repos","events_url":"https://api.github.com/users/composer/events{/privacy}","received_events_url":"https://api.github.com/users/composer/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/composer/composer","description":"Dependency Manager for PHP","fork":false,"url":"https://api.github.com/repos/composer/composer","forks_url":"https://api.github.com/repos/composer/composer/forks","keys_url":"https://api.github.com/repos/composer/composer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/composer/composer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/composer/composer/teams","hooks_url":"https://api.github.com/repos/composer/composer/hooks","issue_events_url":"https://api.github.com/repos/composer/composer/issues/events{/number}","events_url":"https://api.github.com/repos/composer/composer/events","assignees_url":"https://api.github.com/repos/composer/composer/assignees{/user}","branches_url":"https://api.github.com/repos/composer/composer/branches{/branch}","tags_url":"https://api.github.com/repos/composer/composer/tags","blobs_url":"https://api.github.com/repos/composer/composer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/composer/composer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/composer/composer/git/refs{/sha}","trees_url":"https://api.github.com/repos/composer/composer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/composer/composer/statuses/{sha}","languages_url":"https://api.github.com/repos/composer/composer/languages","stargazers_url":"https://api.github.com/repos/composer/composer/stargazers","contributors_url":"https://api.github.com/repos/composer/composer/contributors","subscribers_url":"https://api.github.com/repos/composer/composer/subscribers","subscription_url":"https://api.github.com/repos/composer/composer/subscription","commits_url":"https://api.github.com/repos/composer/composer/commits{/sha}","git_commits_url":"https://api.github.com/repos/composer/composer/git/commits{/sha}","comments_url":"https://api.github.com/repos/composer/composer/comments{/number}","issue_comment_url":"https://api.github.com/repos/composer/composer/issues/comments{/number}","contents_url":"https://api.github.com/repos/composer/composer/contents/{+path}","compare_url":"https://api.github.com/repos/composer/composer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/composer/composer/merges","archive_url":"https://api.github.com/repos/composer/composer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/composer/composer/downloads","issues_url":"https://api.github.com/repos/composer/composer/issues{/number}","pulls_url":"https://api.github.com/repos/composer/composer/pulls{/number}","milestones_url":"https://api.github.com/repos/composer/composer/milestones{/number}","notifications_url":"https://api.github.com/repos/composer/composer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/composer/composer/labels{/name}","releases_url":"https://api.github.com/repos/composer/composer/releases{/id}","deployments_url":"https://api.github.com/repos/composer/composer/deployments","created_at":"2011-06-08T08:53:00Z","updated_at":"2016-02-22T20:10:35Z","pushed_at":"2016-02-22T21:47:39Z","git_url":"git://github.com/composer/composer.git","ssh_url":"git@github.com:composer/composer.git","clone_url":"https://github.com/composer/composer.git","svn_url":"https://github.com/composer/composer","homepage":"https://getcomposer.org/","size":19144,"stargazers_count":7079,"watchers_count":7079,"language":"PHP","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1964,"mirror_url":null,"open_issues_count":435,"forks":1964,"open_issues":435,"watchers":7079,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/composer/composer/pulls/4946"},"html":{"href":"https://github.com/composer/composer/pull/4946"},"issue":{"href":"https://api.github.com/repos/composer/composer/issues/4946"},"comments":{"href":"https://api.github.com/repos/composer/composer/issues/4946/comments"},"review_comments":{"href":"https://api.github.com/repos/composer/composer/pulls/4946/comments"},"review_comment":{"href":"https://api.github.com/repos/composer/composer/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/composer/composer/pulls/4946/commits"},"statuses":{"href":"https://api.github.com/repos/composer/composer/statuses/08684f18831ad5ded95abf344e138b95ec0a94f3"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":1,"additions":29,"deletions":4,"changed_files":2}}