Installing heroku CLI plugin on an M1 Mac gives yarn error - heroku

I'm working on adding Heroku's new enhanced certificates to (hopefully) make our Google Data Studio reports less prone to failing when Heroku automatically refresh database certificates. Heroku provide a guide: Connecting to a Heroku Postgres Database with Enhanced Certificates.
The first step is to install the data CLI plugin: heroku plugins:install data
For me that fails with yarn errors:
› Warning: heroku update available from 7.63.4 to 7.64.0.
Installing plugin data... failed
Error: yarn add #heroku-cli/plugin-data#latest --non-interactive --mutex=file:/Users/timregan/.local/share/heroku/yarn.lock --preferred-cache-folder=/Users/timregan/Library/Caches/heroku/yarn --check-files --registry=https://registry.npmjs.org exited with code 1
at ChildProcess.<anonymous> (/opt/homebrew/Cellar/heroku/7.63.4/libexec/node_modules/#oclif/plugin-plugins/lib/yarn.js:31:28)
I do not understand. Why is yarn involved? Is there a yarn or brew command I should be invoking instead of heroku plugins:install data?
(EDIT: I now suspect this is an Apple M1 architecture issue. I get the same error when trying to install other Heroku CLI plugins.)

I was able to overcome this issue after downgrading from Yarn 3 to yarn 1.
For some reason, it does not work with yarn 3 (possibly with yarn 2 as well).

Related

graphcool-framework deploy error 'ECONNREFUSED'

I am getting an error in the GraphCool 5 minute tutorial https://www.graph.cool/docs/quickstart/frontend/react/apollo-tijghei9go
graphcool-framework deploy
Please choose the cluster you want to deploy to: shared-ap-northeast-1
Please choose the target name prod
Creating service server in cluster shared-ap-northeast-1... !
▸ 'ECONNREFUSED': request to https://api.graph.cool/system failed,
▸ reason: connect ECONNREFUSED 13.33.35.222:443
A search didn't turn up much on the graphCool forums or here at stack overflow
After taking some time away from the problem I realized I had installed graphcool locally first. When I got an error I then used npm to install graphcool globally.
Tonight I used npm to uninstall the local version. The error went away!
I should have followed the tut exactly. Instead I tried to install dependencies locally because I read somewhere that installing them globally is not the preferred method anymore.

`container:init` is not a heroku command

I have installed heroku with homebrew in my OSX El Capitan(10.11.5) and installed the heroku-container-tools with:
heroku plugins:install heroku-container-tools
The installation goes successfully:
Installing plugin heroku-container-tools... done
When I run a heroku version, I got this:
heroku-toolbelt/3.42.22 (universal.x86_64-darwin15) ruby/2.0.0
heroku-cli/5.2.20-9d094b0 (darwin-amd64) go1.6.2
=== Installed Plugins
heroku-container-tools#3.0.0
But when I run a heroku container:init I got this:
! `container:init` is not a heroku command.
! See `heroku help` for a list of available commands.
Running heroku help container I got this:
Usage: heroku container
Use Docker to build and deploy Heroku apps
Use Docker to build and deploy Heroku apps
Additional commands, type "heroku help COMMAND" for more details:
container:login # Logs in to the Heroku Docker registry
container:push [PROCESS] # Builds, then pushes a Docker image to deploy your Heroku app
I am following this heroku tutorial: https://devcenter.heroku.com/articles/local-development-with-docker
In the tutorial is said to run heroku container:init
This command was replaced but some other and heroku did not updated their documentation or I have some problem installing the plugin?
Yes, they restricted access to their container registry, just read the warning on top of the tutorial you're following https://devcenter.heroku.com/articles/local-development-with-docker
heroku container:release, which creates a Heroku-compatible slug and
deploys it to Heroku, has been deprecated. For access to our container
registry (available in private beta), please contact
docker-feedback#heroku.com
now there are only login and push commands. I hope you can easily ask for the access.

Heroku push fails: Error: `libsass` bindings not found. Try reinstalling `node-sass`?

I'm trying to push a new app to Heroku but I'm getting this libsass error:
Error: ´libsass´ bindings not found. Try reinstalling ´node-sass´?
I've looked all around but the solutions I've found are for a local environment, but I have no problem on my machine.
One of the things I found was to use node 0.12.0, I was on 0.10, but Heroku is already on 0.12.0
What else can I do on Heroku?
I assume you have node-sass in your package.json if so setting NODE_MODULES_CACHE to false may help
You can do it on heroku.com or in CLI:
heroku config:set NODE_MODULES_CACHE=false

Heroku CLI error - "cli.Spinner is not a function"

I am getting the following message when I try to load a rails console in heroku:
→ heroku run rails console -a myapp
▸ cli.Spinner is not a function
Output from checking heroku version:
→ heroku --version
heroku-toolbelt/3.42.47 (x86_64-darwin10.8.0) ruby/1.9.3
heroku-cli/4.29.3-7996295 (amd64-darwin) go1.6
=== Installed Plugins
heroku-apps#1.7.3
heroku-cli-addons#0.3.0
heroku-fork#4.1.2
heroku-git#2.4.5
heroku-local#5.0.1
heroku-orgs#1.0.5
heroku-pg-extras
heroku-pipelines#1.1.3
heroku-run#3.1.1
heroku-spaces#2.1.2
heroku-status#2.1.2
It has worked for me in the past but now I get this error. I've reinstalled the Heroku CLI using both the Heroku provided package and with brew install heroku. I am able to use the CLI for logs with heroku logs -a myapp. Any thoughts about what might be the issue?
You can fix this by removing your ~/.heroku directory and running heroku update. If you have manually installed plugins you will have to manually reinstall them.
This solution actually works in linux. A friend next to me have the issue, and we just remove the ~/.heroku and run heroku again, because all the files were deleted is just install all the updates.

heroku startup "error loading plugin commands", "heroku local web" fails

OK I fixed the problem. It is failing because it is trying to rename to an existing file, once I deleted the file it was able to proceed installing the plugins and now everything is fine.
Trying to get started with Node.js on Heroku. I really don't think I can add any more details than the commands and output, but the site won't let me post unless I add more verbiage.
PS C:\Users\adamk\heroku\node-js-getting-started> heroku local web
Installing Heroku Toolbelt v4... done.
For more information on Toolbelt v4: https://github.com/heroku/heroku-cli
Setting up node-v4.1.1... ▸ rename C:\Users\adamk\.heroku\tmp\download455882471\file C:\Users\adamk\.heroku\node-v4.1
.1-windows-x86\bin\node.exe: Access is denied.
error loading plugin commands
error loading plugin topics
error loading plugin commands
! `local` is not a heroku command.
! Perhaps you meant `lock`.
! See `heroku help` for a list of available commands.
PS C:\Users\adamk\heroku\node-js-getting-started> heroku plugins
Installing Heroku Toolbelt v4... done.
For more information on Toolbelt v4: https://github.com/heroku/heroku-cli
Setting up node-v4.1.1... ▸ rename C:\Users\adamk\.heroku\tmp\download156546799\file C:\Users\adamk\.heroku\node-v4.1
.1-windows-x86\bin\node.exe: Access is denied.
error loading plugin commands
error loading plugin topics
error loading plugin commands
! Heroku client internal error.
! Search for help at: https://help.heroku.com
! Or report a bug at: https://github.com/heroku/heroku/issues/new
Error: No such file or directory - "C:/Users/adamk/.heroku/heroku-cli.exe" plugins (Errno::ENOENT)
Command: heroku plugins
Version: heroku/toolbelt/3.42.3 (i386-mingw32) ruby/1.9.3
Error ID: 65ccb27b99e8450aba316ff617b544c0
More information in C:/Users/adamk/.heroku/error.log
OK I fixed the problem. It is failing because it is trying to rename to an existing file, once I deleted the file it was able to proceed installing the plugins and now everything is fine.
Heroku toolbelt does not have permission to write to the .heroku folder on your machine. You can try using sudo but I would suggest you chown the home folder for your user to run it without using sudo

Resources