jeff-hughes / shellcaster

Terminal-based podcast manager built in Rust
GNU General Public License v3.0
199 stars 14 forks source link

Installation error on fedora 34 #38

Closed iamdevnitesh closed 3 years ago

iamdevnitesh commented 3 years ago

OS: fedora 34 x86_64

Command used: cargo install shellcaster --no-track --root "/usr/local"

Output: ➜ ~ cargo install shellcaster --no-track --root "/usr/local" Updating crates.io index Installing shellcaster v1.2.0 Compiling libc v0.2.99 Compiling autocfg v1.0.1 Compiling proc-macro2 v1.0.28 Compiling pkg-config v0.3.19 Compiling unicode-xid v0.2.2 Compiling syn v1.0.74 Compiling cc v1.0.69 Compiling cfg-if v1.0.0 Compiling memchr v2.4.0 Compiling fnv v1.0.7 Compiling strsim v0.9.3 Compiling ident_case v1.0.1 Compiling tinyvec_macros v0.1.0 Compiling bitflags v1.3.2 Compiling log v0.4.14 Compiling serde_derive v1.0.127 Compiling encoding_rs v0.8.28 Compiling jetscii v0.5.0 Compiling serde v1.0.127 Compiling openssl v0.10.35 Compiling foreign-types-shared v0.1.1 Compiling percent-encoding v2.1.0 Compiling derive_builder v0.9.0 Compiling matches v0.1.9 Compiling native-tls v0.2.8 Compiling once_cell v1.8.0 Compiling unicode-width v0.1.8 Compiling lazy_static v1.4.0 Compiling regex-syntax v0.6.25 Compiling unicode-bidi v0.3.6 Compiling openssl-probe v0.1.4 Compiling xmlparser v0.13.3 Compiling anyhow v1.0.43 Compiling linked-hash-map v0.5.4 Compiling base64 v0.13.0 Compiling semver-parser v0.7.0 Compiling fallible-iterator v0.2.0 Compiling vec_map v0.8.2 Compiling chunked_transfer v1.4.0 Compiling fallible-streaming-iterator v0.1.9 Compiling entities v1.0.1 Compiling smawk v0.3.1 Compiling strsim v0.8.0 Compiling ansi_term v0.11.0 Compiling nohash-hasher v0.2.0 Compiling unicode-segmentation v1.8.0 Compiling num-traits v0.2.14 Compiling num-integer v0.1.44 Compiling tinyvec v1.3.1 Compiling libsqlite3-sys v0.17.3 Compiling foreign-types v0.3.2 Compiling qstring v0.7.2 Compiling form_urlencoded v1.0.1 Compiling textwrap v0.11.0 Compiling openssl-sys v0.9.65 Compiling ncurses v5.101.0 Compiling lru-cache v0.1.2 Compiling semver v0.10.0 Compiling escaper v0.1.1 Compiling textwrap v0.13.4 Compiling unicode-normalization v0.1.19 Compiling quote v1.0.9 Compiling time v0.1.43 Compiling dirs-sys-next v0.1.2 Compiling atty v0.2.14 Compiling aho-corasick v0.7.18 Compiling idna v0.2.3 Compiling quick-xml v0.20.0 Compiling dirs-next v2.0.0 Compiling clap v2.33.3 Compiling rusqlite v0.21.0 Compiling pancurses v0.16.1 Compiling regex v1.5.4 Compiling url v2.2.2 Compiling shellexpand v2.1.0 Compiling darling_core v0.10.2 Compiling chrono v0.4.19 Compiling sanitize-filename v0.2.1 Compiling strong-xml-derive v0.6.3 Compiling diligent-date-parser v0.1.2 Compiling darling_macro v0.10.2 Compiling ureq v1.5.5 Compiling darling v0.10.2 Compiling strong-xml v0.6.3 Compiling derive_builder_core v0.9.0 Compiling atom_syndication v0.9.1 Compiling rss v1.10.0 Compiling toml v0.5.8 Compiling opml v0.2.4 Compiling shellcaster v1.2.0 Finished release [optimized] target(s) in 40.76s error: Permission denied (os error 13) at path "/usr/local/bin/cargo-installWm2aeA"

iamdevnitesh commented 3 years ago

The process completes successfully when using cargo install shellcaster

jeff-hughes commented 3 years ago

Hi there -- the error you received is related to your user's ability to write to the /usr/local/bin directory. Generally only the root user is able to do that. I see in the instructions on the readme, the command should probably include sudo at the beginning. So I'll revise this.

Glad to see you got it working for you, though -- cargo install shellcaster will install by default to ~/.cargo/bin, which is owned by your current user. The only gotcha is that you have to ensure that directory shows up in your $PATH, which some users may not know. Honestly, the better option on Linux is probably to install to ~/.local/bin, which is likely already in your $PATH and also doesn't require root permissions. I'll rewrite the instructions in the readme to reflect these issues. Thanks for flagging this!