##はじめに
以前 ROS2 Windows版のexample実行時にエラーが出たらOpenSSLのバージョンを疑ってみる という記事を書きましたが、動かない状況はこれけだけではありませんでした。
ここに自ら実際に動作検証してうまくいったやり方を載せておきます。
変更履歴
- 2020/5/1 手順3の再起動の記述を追加しました。
##前提条件
OS: Windows 10
ROS2: Dashing Diademataバイナリ版を C:\dev\ros2_dashing
以下にインストールする
##トラブルシューティング手順
-
公式ページの Installing ROS 2 on Windows に従って各種インストールしてtalker/listenerを動かしてみる。
-
これで問題なく動けば完了。問題が起きたら3へ。
-
(2020/5/1追記) OSを再起動してみる。システムの環境変数が反映されないことがあるかも知れないので。これで問題なく動けば完了。問題があれば4へ。
-
以下のようなros2コマンドが見つからないエラーの場合は5へ。
'ros2' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
または、以下のようなDLLがロードできない旨のエラーが出たら7へ。
```
Failed to load entry point 'info': DLL load failed: 指定されたモジュールが見つかりません。
The C extension 'C:\dev\ros2_dashing\Lib\site-packages\rosbag2_transport\_rosbag2_transport_py.pyd' failed to be imported while being present on the system. Please refer to 'https://index.ros.org/doc/ros2/Troubleshooting/#import-failing-even-with-library-present-on-the-system' for possible solutions
-
新規に管理者モードのコマンドプロンプトを起動して、カレントディレクトリを
C:\dev\ros2_dashing
以外にした状態でC:\dev\ros2_dashing\local_setup.bat
を実行する。 -
その後手順に従ってtalker/listenerを起動する。成功したら完了。問題が起きたら7へ。
-
開いていたコマンドプロンプトを全て終了してから、
ros2_dashing
フォルダの名前を別の名前(例えばros2-dashing
)に書き換えてから5に戻る。ただしこのとき7でros2-dashing
に書き換えた場合はC:\dev\ros2-dashing\local_setup.bat
を実行する。
その他
asio などのnupkgを再インストールするときには、 choco uninstall asio のようにして一旦アンインストールしてから行う。
以上です。