Comments (7)
Hey @Meijuh thanks for your suggestion. I'll bring it up with the Team.
That said, can you help me understand better about the installation experience in Fedora:
- What did DNF and PIP update before you run
sudo ./sam-installation/install --update
? - Can you elaborate a bit more about what the compatibility and security issues?
As for the need of sudo
, it's possible to specify an installation path (e.g. sudo ./sam-installation/install --install-dir $HOME/my/path
). I wonder if sudo
can be skipped if you install at a location where you have full access without sudo
.
from aws-sam-cli.
First, I needed to upgrade SAM/Python/PIP managed packages because whenever I ran sam deploy
I got: "Error: An HTTP Client raised an unhandled exception: sequence item 0: expected str instance, bytes found" (the compatibility issue). So then I had to figure out/remember how and where sam was installed. This could be via pip/dnf/tarball, and apparently also now via a custom installer. So I just removed any form of sam. Upgraded all PIP packages via pip --disable-pip-version-check list --outdated --format=json | python -c "import json, sys; print('\n'.join([x['name'] for x in json.load(sys.stdin)]))" | xargs -n1 pip install -U
, because that seems to be the way according to https://www.activestate.com/resources/quick-reads/how-to-update-all-python-packages/. But that also gave errors, because of missing dependencies. So I had to run dnf install librsync-devel libvirt-devel cairo-devel gobject-introspection-devel
.
Then I ran the installer as root (I did not know about --install-dir
), and hoped deeply it would not run rm / -rf
(the security issue).
In three months I will have to do all steps above again, because I will have forgotten you made a custom installer.
Above steps could be optimized (I'm no python expert), but my point is, I would not have to think about it if only I could run dnf install aws-sam-cli
. Also try to imagine if all software vendors took your approach (needing to know I can supply --install-dir
to a custom installer, etc); upgrading my system would take days.
I would love to see the possibility you allow distribution maintainers to distribute your software in a way they recommend (and potentially assist them with that). That would make it so much easier for me to use the SAM CLI, and saves you work too of having to maintain an installer.
from aws-sam-cli.
Thanks for sharing your feedback and experience. It seems like you hit some unexpected cases. I'll mark this issue as bug and will investigate further.
In this issue, we explained why we decided to change our support model for homebrew, and also why we intented to keep a unified installation experience through our binary installers. Like homebrew, we welcome community to contribute and support distribution of AWS SAM CLI in different package managers(such as homebrew and pacman).
from aws-sam-cli.
#5613 does not provide a single reason to drop support for homebrew? I'm honestly curious why the choice for a custom installer has been made.
You say you welcome the community to contribute, but you do not provide release tarballs aside from those automatically generated by Github.
At this point https://cloud.google.com/sdk/docs/install#red-hatfedoracentos looks like a godsend.
from aws-sam-cli.
Hi Meijuh! We dropped homebrew for multiple reasons, mainly due to our decision of having a unified distribution, with homebrew having a different installation workflow than our own installers, since we are able to solely maintain and be responsible for our installers. unlike homebrew. Here is another ticket for more context.
That being said, thank you for taking the time to provide this feedback. I would like to better understand your use case. I tried replicating the installation/upgrade process using an EC2 Instance with AL 2023 and found my experience normal to the docs when installing/updating our package. I see that there are some issues with using DNF/pip/third part distros but that is to be expected with out current official installation method using our own distribution. Our team had a discussion and we believe it is best practice to use our own distribution in our case. Do you have a specific use case for special tarballs outside of the ones generated in our Github?
from aws-sam-cli.
Closing due to inactivity.
from aws-sam-cli.
⚠️ COMMENT VISIBILITY WARNING⚠️
Comments on closed issues are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.
from aws-sam-cli.
Related Issues (20)
- SAM Does not build the application, returns "PythonPipBuilder:ResolveDependencies failed HOT 4
- Bug: Missing DockerContext doesn't fail validation HOT 2
- `sam init` fails to deploy a standard sample on Windows platform HOT 3
- Bug: sam local start-api not working in a docker-out-of-docker setup, due to an empty /var/task directory. HOT 2
- Bug: TITLE"Invalid API identifier specified" when attaching resources to an existing AWS::ApiGatewayV2::Api HOT 2
- Bug: sam build - UnsupportedBuilderException HOT 3
- SAM build crashes using terraform HOT 9
- Bug: sam local start-api - AttributeError HOT 9
- SAM local invocation with CDK generated template with typescript not able to find module index (index.mjs) HOT 5
- How to add tags with sam deploy HOT 7
- Bug: Got issue when using 1.116.0_1 for deployment HOT 2
- Bug: [WinError 3] The system cannot find the path specified HOT 4
- Feature request: Deploy Lambdas with concurrency HOT 1
- Bug: sam sync with python causes endless cpu saturation HOT 10
- Bug: sam build - EmptyKeyError HOT 1
- Bug: Unable to run sam local invoke on Apple Silicon HOT 13
- Cannot sam local start-api without specifying an image HOT 1
- Bug: sam local start-api - ReadTimeout HOT 3
- Bug: "Timed out while attempting to establish a connection to the container" error after fresh install of Docker and AWS SAM HOT 3
- Bug: sam build - JSONDecodeError HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aws-sam-cli.