Upgrade to 1.6 failing

When updating from 1.5.2 to 1.6 (on Windows 10), I get:

C:\Users\Ron\WraithNotes\Meteor\WraithNotes>meteor update
C:\Users\Ron\AppData\Local\.meteor\packages\meteor-tool\1.6.0\mt-os.windows.x86_32\tools\isobuild\meteor-npm.js:265
  versions: _extends({}, process.versions)
            ^
TypeError: _extends is not a function
    at Object.<anonymous> (C:\tools\isobuild\meteor-npm.js:223:3)
    at Module._compile (module.js:612:30)
    at Object.Module._extensions..js (module.js:623:10)
    at Module.load (module.js:531:32)
    at Module.Mp.load (C:\tools\tool-env\install-runtime.js:16:29)
    at tryModuleLoad (module.js:494:12)
    at Function.Module._load (module.js:486:3)
    at Module.require (module.js:556:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (C:\tools\isobuild\package-source.js:8:17)
1 Like

Yeah I had my own issues upgrading as well.

Basically, worst case if it doesn’t work, what you can do is:

  1. Uninstall Meteor using the uninstaller that you’d normally use on Windows (in add/remove programs or whatever)
  2. Delete your %LocalAppData%\.meteor folder (could take forever depending on how long you’ve had Meteor installed on that machine). Find this path by running echo %LocalAppData%\.meteor.
  3. Install Meteor manually using this guide here. Make sure you install the 32 bit version.
  4. In your 1.5.2 project, or any pre-1.6 project, run meteor update.
  5. Once that’s done, if you want to switch to the x64 version of Meteor on Windows, you need to uninstall Meteor again (this time, just delete the .meteor folder again)
  6. Run choco install meteor. If you don’t have Chocolatey, get it here.

Hopefully this helps you out. It might be a super edge-case issue that is thrown when upgrading a pre-1.6 project on Windows using the 64 bit version of Meteor, but I didn’t think it was worth opening since I fixed it pretty quickly.

2 Likes

I’ve installed Ubuntu from Store on my home Win10 PC. And in Ubuntu installed Meteor. It’s working for me…

I’m getting a slightly different upgrade issue. Code that worked fine 30 min ago before the upgrade is now telling me.
TypeError: Class extends value undefined is not a constructor or null
W20171031-08:58:36.079(-7)? (STDERR) at ReactMeteorData.jsx (packages/react-meteor-data/ReactMeteorData.jsx:164:40)
W20171031-08:58:36.080(-7)? (STDERR) at fileEvaluate (packages/modules-runtime.js:333:9)
W20171031-08:58:36.080(-7)? (STDERR) at require (packages/modules-runtime.js:228:16)
W20171031-08:58:36.080(-7)? (STDERR) at createContainer.jsx (packages/react-meteor-data/createContainer.jsx:1:210)
W20171031-08:58:36.080(-7)? (STDERR) at fileEvaluate (packages/modules-runtime.js:333:9)
W20171031-08:58:36.081(-7)? (STDERR) at require (packages/modules-runtime.js:228:16)
W20171031-08:58:36.081(-7)? (STDERR) at react-meteor-data.jsx (packages/react-meteor-data/react-meteor-data.jsx:1:14)
W20171031-08:58:36.081(-7)? (STDERR) at fileEvaluate (packages/modules-runtime.js:333:9)
W20171031-08:58:36.081(-7)? (STDERR) at require (packages/modules-runtime.js:228:16)
W20171031-08:58:36.081(-7)? (STDERR) at /Users/jmfeland/Documents/Argus_Insights/Code/simple-todos-qlyzer/.meteor/local/build/programs/server/packages/react-meteor-data.js:332:15

Seems to be related to some circular dependencies that showed up post upgrade. I’ve cleared the package cache, reinstalled packages as well.

Any ideas? It seemed to work fine until I went native on bcrypt…

I’ve opened issue #9278 to track this. I’m leaving the broken install in place for a bit in case anyone more info on its state or wants to test a fix.

@argusinsights, you might want to update issue #9278 with the details of your problem since they may be connected (both seem to involve extend).

1 Like

Or rename it to .meteorold or whatever.

2 Likes

Lol yeah that’s prob a better idea :laughing:

Thank you everyone. I ended up wiping out the packages and starting again. There are some delightful inconsistencies. Being a relative noob in Meteor, I was treating ‘meteor add’ and ‘meteor npm install’ as equal actions. Coming from the world of ruby and gems, where there’s only one place to manage packages, I mistaking assumed add and npm install both put goodies in the same spot. Rebuilding everything one package at a time got me back on the straight and narrow.

1 Like

I followed the instructions as per leosco, but when I run the meteor update command I get some EPERM errors, anybody else with the same issue?
Same with npm install command.

@zpatrick, yes, in a Windows command window I get “access denied”. I can’t see any obvious permissions problems. Just running “meteor” gives the same error so it isn’t related to the “update” command.

Following the instructions provided by @leosco, I now get “access denied” when running any Meteor command (even just “Meteor”). So I tried deleting the “.meteor” folder again and used Choco to install the 64-bit version. Now I get my original error “TypeError: _extends is not a function” when I run Meteor.

I fixed the EPERM issues by:

  1. Downgrading npm version to 5.3: npm install npm@5.3 -g
  2. Install node-pre-gyp (globally): npm install -g node-pre-gyp
  3. meteor update (it hangged at selecting packages… but did update to 1.6, did a CTRL+C to stop, ended Node task in Windows Task Manager)
  4. Reopened command prompt and ran: meteor npm install

I also closed visual code; I ran into some issues in the past because it’d monitored the node_modules folder, even if instructed not to. Both npm and visual code accessing same file can throw ENOTEMPTY, EBUSY, EPERM errors.

Good luck.

None of the above suggestions have worked for me, so I went debugging…

After the require statement at the top of meteor-npm.js

var _extends = require("babel-runtime/helpers/extends");

“_extends” is defined as:

{ __esModule: true, default: [Function: assign] }

The usage of “_extends” in meteor-npm.js is:

const currentVersions = { platform: process.platform, arch: process.arch, versions: _extends({}, process.versions) };

Something doesn’t look right to me. Is the call expecting “_extends” to use the default function “assign”? If so, how?

Same here… I have tried all of the above, but still getting error:

_$ choco install meteor_
_Chocolatey v0.10.8_
_Installing the following packages:_
_meteor_
_By installing you accept licenses for the packages._
_Progress: Downloading meteor 0.0.1... 100%_

_meteor v0.0.1 [Approved]_
_meteor package files install completed. Performing other installation steps._
_The package meteor wants to run 'chocolateyinstall.ps1'._
_Note: If you don't run this script, the installation will fail._
_Note: To confirm automatically next time, use '-y' or consider:_
_choco feature enable -n allowGlobalConfirmation_
_Do you want to run the script?([Y]es/[N]o/[P]rint): Y_

_ERROR: A parameter cannot be found that matches parameter name 'file'._
_The install of meteor was NOT successful._
_Error while running 'C:\ProgramData\chocolatey\lib\meteor\tools\chocolateyinstall.ps1'._
_ See log for details._

_Chocolatey installed 0/1 packages. 1 packages failed._
_ See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log)._

_Failures_
_ - meteor (exited -1) - Error while running 'C:\ProgramData\chocolatey\lib\meteor\tools\chocolateyinstall.ps1'._
_ See log for details._

and in the log file:


2017-11-02 10:46:08,420 15616 [DEBUG] - Error handling check: 'Get-ItemProperty' fails if a registry key is encoded incorrectly.
2017-11-02 10:46:08,704 15616 [DEBUG] - Found  uninstall registry key(s) with SoftwareName:'Meteor'
2017-11-02 10:46:08,873 15616 [ERROR] - ERROR: A parameter cannot be found that matches parameter name 'file'.
2017-11-02 10:46:08,885 15616 [DEBUG] - Built-in PowerShell host called with ['[System.Threading.Thread]::CurrentThread.CurrentCulture = '';[System.Threading.Thread]::CurrentThread.CurrentUICulture = ''; & import-module -name 'C:\ProgramData\chocolatey\helpers\chocolateyInstaller.psm1'; & 'C:\ProgramData\chocolatey\helpers\chocolateyScriptRunner.ps1' -packageScript 'C:\ProgramData\chocolatey\lib\meteor\tools\chocolateyinstall.ps1' -installArguments '' -packageParameters '''] exited with '-1'.
2017-11-02 10:46:08,888 15616 [DEBUG] - Calling command ['"C:\Windows\System32\shutdown.exe" /a']
2017-11-02 10:46:08,909 15616 [DEBUG] - Command ['"C:\Windows\System32\shutdown.exe" /a'] exited with '1116'
2017-11-02 10:46:09,038 15616 [DEBUG] - Capturing package files in 'C:\ProgramData\chocolatey\lib\meteor'
2017-11-02 10:46:09,041 15616 [DEBUG] -  Found 'C:\ProgramData\chocolatey\lib\meteor\meteor.nupkg'
  with checksum '9E0A05AC0014BD7C54EEF7C76CFE3561'
2017-11-02 10:46:09,042 15616 [DEBUG] -  Found 'C:\ProgramData\chocolatey\lib\meteor\meteor.nuspec'
  with checksum '5596451D482DF518D39E44EF152FDB09'
2017-11-02 10:46:09,044 15616 [DEBUG] -  Found 'C:\ProgramData\chocolatey\lib\meteor\tools\chocolateyinstall.ps1'
  with checksum '299071378506A60C7266FC1E0FB2AFCA'
2017-11-02 10:46:09,045 15616 [DEBUG] -  Found 'C:\ProgramData\chocolatey\lib\meteor\tools\chocolateyuninstall.ps1'
  with checksum 'FA336DA581A2295F3890BA42AE81DFFB'
2017-11-02 10:46:09,046 15616 [DEBUG] -  Found 'C:\ProgramData\chocolatey\lib\meteor\tools\helpers.psm1'
  with checksum 'F66AB2733E0C8CD8733A395BEF20E1D6'
2017-11-02 10:46:09,047 15616 [DEBUG] -  Found 'C:\ProgramData\chocolatey\lib\meteor\tools\VERIFICATION.txt'
  with checksum '91EB02D95C14054BE3D930E1DA177FE1'
2017-11-02 10:46:09,058 15616 [DEBUG] - Attempting to delete file "C:\ProgramData\chocolatey\.chocolatey\meteor.0.0.1\.arguments".
2017-11-02 10:46:09,059 15616 [DEBUG] - Attempting to delete file "C:\ProgramData\chocolatey\.chocolatey\meteor.0.0.1\.extra".
2017-11-02 10:46:09,061 15616 [DEBUG] - Attempting to delete file "C:\ProgramData\chocolatey\.chocolatey\meteor.0.0.1\.version".
2017-11-02 10:46:09,061 15616 [DEBUG] - Attempting to delete file "C:\ProgramData\chocolatey\.chocolatey\meteor.0.0.1\.sxs".
2017-11-02 10:46:09,062 15616 [DEBUG] - Attempting to delete file "C:\ProgramData\chocolatey\.chocolatey\meteor.0.0.1\.pin".
2017-11-02 10:46:09,066 15616 [DEBUG] - Attempting to delete directory "C:\ProgramData\chocolatey\lib-bad\meteor".
2017-11-02 10:46:09,080 15616 [DEBUG] - Sending message 'HandlePackageResultCompletedMessage' out if there are subscribers...
2017-11-02 10:46:09,082 15616 [ERROR] - The install of meteor was NOT successful.
2017-11-02 10:46:09,085 15616 [ERROR] - Error while running 'C:\ProgramData\chocolatey\lib\meteor\tools\chocolateyinstall.ps1'.
 See log for details.
2017-11-02 10:46:09,088 15616 [DEBUG] - Moving 'C:\ProgramData\chocolatey\lib\meteor'
 to 'C:\ProgramData\chocolatey\lib-bad\meteor'
2017-11-02 10:46:11,093 15616 [DEBUG] - Attempting to delete file "C:\Users\xxx\AppData\Local\NuGet\Cache\meteor.0.0.1.nupkg".
2017-11-02 10:46:11,103 15616 [WARN ] - 
Chocolatey installed 0/1 packages. 1 packages failed.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
2017-11-02 10:46:11,105 15616 [INFO ] - 
2017-11-02 10:46:11,107 15616 [ERROR] - Failures
2017-11-02 10:46:11,109 15616 [ERROR] -  - meteor (exited -1) - Error while running 'C:\ProgramData\chocolatey\lib\meteor\tools\chocolateyinstall.ps1'.

I got the EPERM error everywhere, listening to here I simply killed VSCode and tried meteor update through the regular command line on windows and to my surprise it worked without errors :smiley:

I’m having the same problem when trying to install meteor through chocolatey and it erroring out. The first time I ran it I was shown an error regarding path length being greater than 240 chars, but I didn’t receive that error when trying again, even after reinstalling chocolatey.

I’m correcting my previous post. After re-installing meteor with Chocolatey, npm start throwing the EPERM errors again. Lost a full day of work on investigating this issue, very frustrating!
Anybody knows where to find the meteor install for 1.5?

Thanks

I’ve raised an issue here https://github.com/meteor/meteor/issues/9289

@zpatrick, I didn’t delete my .meteor folder, so I just manually deleted the .meteor/packages/meteor-tool/1.6.0 folder and I’m back to 1.5.2.2. If you want to install a specific version you can do:

meteor update --release 1.5.2.2

This assumes that your installed version Meteor can run update (mine can’t).

If you have an old Meteor installer you can run that and it will install whatever version it was built with. From there you could update to 1.5.2.2.