回答編集履歴

3 修正

dyoshikawa

dyoshikawa score 1624

2018/07/18 11:52  投稿

質問者様がnpmでHeroku CLIを導入したと仮定して回答します。
なぜなら、その場合の不具合報告をよく目にするからです。
公式でもアナウンスされています。
[https://devcenter.heroku.com/articles/heroku-cli](https://devcenter.heroku.com/articles/heroku-cli)
> It’s strongly recommended to use one of the other installation methods if possible. This installation method does not autoupdate and requires you to use your system’s version of Node.js, which may be older than the version Heroku develops the CLI against. Heroku uses very current releases of Node.js and does not back-support older versions. If you use any of the other installation methods the proper version of Node.js is already included, and it doesn’t conflict with any other version on your system. Also, this method won’t use the yarn lockfile for dependencies like the others do (even if you install with yarn). This may cause issues if the CLI’s dependencies become incompatible in minor or patch releases.
以下、Google翻訳。
> 可能であれば、他のインストール方法の1つを使用することを強くお勧めします。 このインストール方法では自動更新は行われず、システムのバージョンのNode.jsを使用する必要があります。これは、HerokuがCLIを開発するバージョンより古いかもしれません。 HerokuはNode.jsの非常に最新のリリースを使用しており、古いバージョンをバックサポートしていません。 他のインストール方法を使用する場合、適切なバージョンのNode.jsが既に含まれており、システム上の他のバージョンと競合しません。 また、この方法では、他のものと同様に依存関係に糸ロックファイルを使用しません(糸でインストールしても)。 これにより、マイナーリリースまたはパッチリリースでCLIの依存関係が互換性を失うと問題が発生する可能性があります。
というわけで、質問者様が非推奨のインストール方法を採っていた場合は、次の手順でHeroku CLIの再インストールを試してみて下さい。
まず、今入れているHeroku CLIのアンインストール。
```
npm uninstall -g heroku
```
再度、Heroku CLIインストール(公式手順)。
```
wget https://cli-assets.heroku.com/heroku-cli/channels/stable/heroku-cli-linux-x64.tar.gz -O heroku.tar.gz
tar -xvzf heroku.tar.gz
mkdir -p /usr/local/lib /usr/local/bin
sudo mv heroku-cli-v6.16.18-62346b1-linux-x64/ /usr/local/lib/heroku
sudo mv heroku-cli-v6.16.18-62346b1-linux-x64 /usr/local/lib/heroku
sudo ln -s /usr/local/lib/heroku/bin/heroku /usr/local/bin/heroku
echo 'export PATH="/usr/local/bin/heroku/bin:$PATH"' >> ~/.bash_profile
exec $SHELL -l
```
最後から2行目の`heroku-cli-v6.16.18-62346b1-linux-x64`は私が以前入れた時のバージョン番号なので、質問者様が操作する際には違う可能性があります。
`tar -xvzf heroku.tar.gz`の後に`ls`を実行することで確認できますので適宜置き換えて下さい。
インストールできたら動作確認。
```
heroku --version
heroku login
```
# 参考
https://teratail.com/questions/123831
[https://qiita.com/Darmuck/items/46315cbd3de0042445b4](https://qiita.com/Darmuck/items/46315cbd3de0042445b4)
[https://devcenter.heroku.com/articles/heroku-cli](https://devcenter.heroku.com/articles/heroku-cli)
2 修正

dyoshikawa

dyoshikawa score 1624

2018/07/18 11:08  投稿

質問者様がnpmでHeroku CLIを導入したと仮定して回答します。
なぜなら、その場合の不具合報告をよく目にするからです。
公式でもアナウンスされています。
[https://devcenter.heroku.com/articles/heroku-cli](https://devcenter.heroku.com/articles/heroku-cli)
> It’s strongly recommended to use one of the other installation methods if possible. This installation method does not autoupdate and requires you to use your system’s version of Node.js, which may be older than the version Heroku develops the CLI against. Heroku uses very current releases of Node.js and does not back-support older versions. If you use any of the other installation methods the proper version of Node.js is already included, and it doesn’t conflict with any other version on your system. Also, this method won’t use the yarn lockfile for dependencies like the others do (even if you install with yarn). This may cause issues if the CLI’s dependencies become incompatible in minor or patch releases.
以下、Google翻訳。
> 可能であれば、他のインストール方法の1つを使用することを強くお勧めします。 このインストール方法では自動更新は行われず、システムのバージョンのNode.jsを使用する必要があります。これは、HerokuがCLIを開発するバージョンより古いかもしれません。 HerokuはNode.jsの非常に最新のリリースを使用しており、古いバージョンをバックサポートしていません。 他のインストール方法を使用する場合、適切なバージョンのNode.jsが既に含まれており、システム上の他のバージョンと競合しません。 また、この方法では、他のものと同様に依存関係に糸ロックファイルを使用しません(糸でインストールしても)。 これにより、マイナーリリースまたはパッチリリースでCLIの依存関係が互換性を失うと問題が発生する可能性があります。
というわけで、質問者様が非推奨のインストール方法を採っていた場合は、次の手順でHeroku CLIの再インストールを試してみて下さい。
まず、今入れているHeroku CLIのアンインストール。
```
npm uninstall -g heroku
```
再度、Heroku CLIインストール(公式手順)。
```
wget https://cli-assets.heroku.com/heroku-cli/channels/stable/heroku-cli-linux-x64.tar.gz -O heroku.tar.gz
tar -xvzf heroku.tar.gz
mkdir -p /usr/local/lib /usr/local/bin
sudo mv heroku-cli-v6.16.18-62346b1-linux-x64/ /usr/local/lib/heroku
sudo ln -s /usr/local/lib/heroku/bin/heroku /usr/local/bin/heroku
echo 'export PATH="/usr/local/bin/heroku/bin:$PATH"' >> ~/.bash_profile  
exec $SHELL -l  
```
最後から2行目の`heroku-cli-v6.16.18-62346b1-linux-x64`は私が以前入れた時のバージョン番号なので、質問者様が操作する際には違う可能性があります。
`tar -xvzf heroku.tar.gz`の後に`ls`を実行することで確認できますので適宜置き換えて下さい。
インストールできたら動作確認。
```
heroku --version
heroku login
```
# 参考
https://teratail.com/questions/123831
[https://qiita.com/Darmuck/items/46315cbd3de0042445b4](https://qiita.com/Darmuck/items/46315cbd3de0042445b4)
[https://devcenter.heroku.com/articles/heroku-cli](https://devcenter.heroku.com/articles/heroku-cli)
1 修正

dyoshikawa

dyoshikawa score 1624

2018/05/17 00:58  投稿

質問者様がnpmでHeroku CLIを導入したと仮定して回答します。
なぜなら、その場合の不具合報告をよく目にするからです。
公式でもアナウンスされています。
[https://devcenter.heroku.com/articles/heroku-cli](https://devcenter.heroku.com/articles/heroku-cli)
> It’s strongly recommended to use one of the other installation methods if possible. This installation method does not autoupdate and requires you to use your system’s version of Node.js, which may be older than the version Heroku develops the CLI against. Heroku uses very current releases of Node.js and does not back-support older versions. If you use any of the other installation methods the proper version of Node.js is already included, and it doesn’t conflict with any other version on your system. Also, this method won’t use the yarn lockfile for dependencies like the others do (even if you install with yarn). This may cause issues if the CLI’s dependencies become incompatible in minor or patch releases.
以下、Google翻訳。
> 可能であれば、他のインストール方法の1つを使用することを強くお勧めします。 このインストール方法では自動更新は行われず、システムのバージョンのNode.jsを使用する必要があります。これは、HerokuがCLIを開発するバージョンより古いかもしれません。 HerokuはNode.jsの非常に最新のリリースを使用しており、古いバージョンをバックサポートしていません。 他のインストール方法を使用する場合、適切なバージョンのNode.jsが既に含まれており、システム上の他のバージョンと競合しません。 また、この方法では、他のものと同様に依存関係に糸ロックファイルを使用しません(糸でインストールしても)。 これにより、マイナーリリースまたはパッチリリースでCLIの依存関係が互換性を失うと問題が発生する可能性があります。
というわけで、質問者様が非推奨のインストール方法を採っていた場合は、次の手順でHeroku CLIの再インストールを試してみて下さい。
まず、今入れているHeroku CLIのアンインストール。
```
npm uninstall -g heroku
```
再度、Heroku CLIインストール(公式手順)。
```
wget https://cli-assets.heroku.com/heroku-cli/channels/stable/heroku-cli-linux-x64.tar.gz -O heroku.tar.gz
tar -xvzf heroku.tar.gz
mkdir -p /usr/local/lib /usr/local/bin
sudo mv heroku-cli-v6.16.18-62346b1-linux-x64/ /usr/local/lib/heroku
sudo ln -s /usr/local/lib/heroku/bin/heroku /usr/local/bin/heroku  
```
終行の`heroku-cli-v6.16.18-62346b1-linux-x64`は私が以前入れた時のバージョン番号なので、質問者様が操作する際には違う可能性があります。
後から2行目の`heroku-cli-v6.16.18-62346b1-linux-x64`は私が以前入れた時のバージョン番号なので、質問者様が操作する際には違う可能性があります。
`tar -xvzf heroku.tar.gz`の後に`ls`を実行することで確認できますので適宜置き換えて下さい。
インストールできたら動作確認。
```
heroku --version
heroku login
```
# 参考
https://teratail.com/questions/123831
[https://qiita.com/Darmuck/items/46315cbd3de0042445b4](https://qiita.com/Darmuck/items/46315cbd3de0042445b4)
[https://devcenter.heroku.com/articles/heroku-cli](https://devcenter.heroku.com/articles/heroku-cli)

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る