Shell-Script

柯南:找不到命令

  • February 17, 2020

我正在使用 RPI 3B

uname -a返回:4.14.98-v7+ #1200 armv71

作業系統是stretch

gcc version is 4.9.3

我正在嘗試根據 hackster.io 上的這個項目將我的 RPi 設置為 BLE 網關。我執行了前幾個命令:

git clone --recurse-submodules https://github.com/Wolkabout/WolkGateway.git

sudo apt-get install mosquitto cmake python python-pip && python -m pip install conan

Bash 腳本

然後我執行了一個包含以下內容的 bash 腳本(configure.sh):

!/usr/bin/env bash

cp tools/git/pre-commit .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit

pushd out
conan install -s compiler.libcxx=libstdc++11 --build=missing ..
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ..
popd

Bash 腳本的輸出

終端輸出:

line 21: conan: command not found

第 21 行是conan.

然後我收到一個 CMake 錯誤:

CMakeLists.txt:(20) (include):
include could not find load file:
/home/pi/Wolk...conanbuildinfo.cmake

也許柯南不在我的PATH

我的想法是命令conan不在我的$PATH所以我檢查了PIP

pip show conan

這給了我的位置conan

/home/pi/.local/lib/python2.7/site-packages

然後我將該路徑添加到我的$PATH

export PATH=$PATH:/home/pi/.local/lib/python2.7/site-packages

這不起作用,在重新執行上述 bash 腳本 (configure.sh) 時導致相同的錯誤

從原始碼安裝柯南

我去了這裡conan從原始碼安裝:

git clone https://github.com/conan-io/conan.git
cd conan
pip install -r conans/requirements.txt

將柯南添加到我的 Python 腳本PATH

#!/usr/bin/env python

import sys

conan_repo_path = "/home/pi/conan" 

柯南儲存庫文件夾的絕對路徑

sys.path.append(conan_repo_path)
from conans.client.command import main
main(sys.argv[1:])    

這行得通。它向我展示了conan commands help輸出。

當我執行configure.sh(bash腳本)時,這個python腳本有什麼不同?

安裝柯南時:

sudo apt-get install mosquitto cmake python python-pip && python -m pip install conan

後半段:

python -m pip install conan

應該使用 sudo 安裝:

sudo python -m pip install conan

如果這不起作用,請嘗試解除安裝柯南:

pip uninstall conan

然後重新安裝:

sudo pip install conan

目前我的 RPi 正在成功執行 configure.sh 腳本。

在 ubuntu 18.04 上,安裝軟體後執行 pip3 install --user conanpip install --user conan

沒有正確地將二進製文件連結到您的路徑中。您通常可以設置路徑,因為 –user 將其安裝到~/.local/(基於每個使用者),因為使用 sudo 全域安裝會破壞事情。

一種快速的選擇是僅通過執行來創建符號連結 sudo ln -s ~/.local/bin/conan /usr/bin/conan

這是一個小工作,但是您也可以~/.local/bin這樣添加: export PATH=$PATH:/home/<user>/.local/bin

您還可以從這裡執行任何已安裝的二進製文件。

引用自:https://unix.stackexchange.com/questions/510744