No such file or directory - getcwd - ruby

I uploaded my Sinatra app to Beanstalk. When I go to my site my logs are returned
No such file or directory - getcwd
The app was working before. I believe the issue has to do with the fact that I added SASS to my app, but I'm not positive. In my config.ru, I have the following code dealing with SASS...
# use scss for stylesheets
Sass::Plugin.options[:style] = :compressed
use Sass::Plugin::Rack
If it could be another issue, let me know and I can provide more information. Thanks.

Some people received this error after trying to run from an already deleted directory.
I received this error after switching databases and leaving the server running. The old server info was still showing up but I was getting this error. Restarted my rails server and everything works fine with the new db.
Basically it means that there is a significant state change on the server, and your environment needs to be reset/restarted.

The key for me was starting a new terminal session.
I just ran into this after trying vagrant up on a newly created directory (after deleting one by the same name) in the same terminal session (oddly, for the first time after working with Vagrant for years). In my case I had already run vagrant destroy, so nothing about the environment needed to or could be be restarted. I was blocked until I started a new terminal session, then vagrant up ran smoothly again.

Found out pg was installed instead of mysql2 in bundler.

Ran across this issue with an Amazon EC2 and rails 5. I had to delete my directory and git clone it. I used bundle install and rake db:migrate and afterwards I ran into the same error. All I had to do to fix it was run sudo service nginx restart to restart the server and when I went back to the website it was working again.

Related

Ruby app no longer able to access remote Heroku Postgres - AFTER installing Postgres.app locally

For months now, a ruby (sinatra) app "foo.rb" on my dev't Mac has been using a remote Heroku-hosted Postgres database.
The app does not use ANY local database, neither in development nor production.
For another project, I installed Postgress.app from Heroku, first removing a very OLD version as recommended, using brew remove postgresql
The next time I ran foo.rb, and tried at access the (remote) database with SomeModel.count, I get the error:
PG::ConnectionBad: FATAL: no pg_hba.conf entry for host , user , database , SSL off
I'm confused why the error shows my devt machine address when the database connection config points to a remote postgres url, and why it says SSL off.
Any thoughts how to get rid of the error? Is there any way to see the PATH to the pg_hba.conf it is complaining about, so I can verify it contains the correct host entries?
(I wonder if the pg gem has its own copy squirreled away somewhere.)
The copies of pg_hba.conf that I can find (in /Library/Application Support/XXXX for both the old and new Postgress.app versions) have the correct (and unchanged) host entries.
It looks like your script is trying to connect somewhere that is not properly configured
Things to check in that case:
your database.yml or connection string, DATABASE_URL matches your localhost from postgres.app
is your postgres.app is running and have a db server running (check the elephant icon on the top bar of your osx)
You installed and configured properly the postgres app you need to set the path, you can check by typing psql in a new terminal window, if it runs is ok to go.
Configure your $PATH to use the included command line tools (optional):
sudo mkdir -p /etc/paths.d &&
echo /Applications/Postgres.app/Contents/Versions/latest/bin | sudo tee /etc/paths.d/postgresapp
post your file or part of it in the question, it helps a lot to debug :)
The answer turned out to be:
comment out pg in Gemfile
bundle install
replace pg
bundle install
I suspect when the gem pg is installed, it dynamically establishes some link to postgresql, so if you move postgresql (as I did when I installed Postgres.app) you need to remove the pg gem then re-add it.

Heroku CLI hangs on Windows 10

I use Heroku CLI on Windows 10. The first day after installing it works just fine, but on the next day (or so) it just hangs after launch:
C:\Users\{User}>heroku
and that's all. No output to console, no logs (no error.log). It lasts forever (not 120 sec like here: Heroku CLI Unresponsive)
I reinstalled CLI on 10.10.2017. Today is 14.10, my folder contains the following files:
folder view before cleaning
The autoupdate.log contains:
[2017-10-10T13:36:14+03:00] starting `C:\Program Files (x86)\Heroku\bin\\heroku.cmd update --autoupdate` from
heroku-cli: Updating CLI... already on latest version: 6.14.34-1fcf80e
heroku-cli: Updating plugins... done
[2017-10-11T22:36:40+03:00] starting `C:\Program Files (x86)\Heroku\bin\\heroku.cmd update --autoupdate` from logs
heroku-cli: Updating CLI... already on latest version: 6.14.34-1fcf80e
heroku-cli: Updating plugins... Waiting for all commands to finish
heroku-cli: Updating plugins... done
[2017-10-14T01:13:34+03:00] starting `C:\Program Files (x86)\Heroku\bin\\heroku.cmd update --autoupdate` from logs
heroku-cli: Updating CLI... already on latest version: 6.14.34-1fcf80e
heroku-cli: Updating plugins... Waiting for all commands to finish
What have I tried:
uninstall and install again - this one works, but I don`t want to do
this every day
running as administrator
waiting all night long
using different commands (heroku --version, heroku update etc)
delete folder ..\AppData\Local\heroku
After deleting the folder and running command 'heroku update' the following files & folders were created, but console still hangs:
folder view after cleaning
The autoupdate.log consists now of 1 line:
[2017-10-14T19:39:02+03:00] starting `C:\Program Files (x86)\Heroku\bin\\heroku.cmd update --autoupdate` from update
I waited for an hour since and now writing this question here. Has anyone faced such an issue? What can be done?
Update
Finally I made it work after a few days by reinstalling CLI several times and deleting the autoupdate files, but cannot say precisely which of my actions had true effect. If you face the same issue you can start with the Malik`s answer.
I encountered the same problem when I run $ heroku login on GitBash for Windows.
I tried the accepted answer above but to no avail. What solved it was just to use Windows Command Prompt instead of GitBash and all problems were solved.
I'm just adding this answer here in case someone has done the same thing like I did.
Using GitCMD instead of GitBash solved the problem for me.
I had the same issue and i followed these steps to fix it.
Go to heroku AppData directory. (windows run %LOCALAPPDATA%\heroku)
You should see 2 files named as autoupdate and a directory named as update.lock.
Delete these 2 files and the directory.
Open a new cmd window.
Try running the heroku cmd again. Now it should work for you.
I use following version
heroku-cli/6.14.36 , (windows-x64) , node-v8.9.0.
Relevant github issue thread
I got the same symptom because I was behind a proxy but did not set the proxy env vars.
export HTTP_PROXY=http://proxy.server.com:portnumber
export HTTPS_PROXY=https://proxy.server.com:portnumber
heroku login
Usin CMD git for heroku login. I had to do the other steps using the bash and all was perfect.

MODULE_NOT_FOUND in heroku pg:backups

I've got problem with heroku pg:backups capture --app myapp command.
Heroku CLI submits usage information back to Heroku. If you would like to disable this, set `skip_analytics: true` in /home/ubuntu/.heroku/config.json
heroku-cli: Updating to 4.99.0-e5f5ef4... done
heroku-cli: Updating CLI...heroku-cli: Updating to 5.11.8-f58f4fa... done
Starting backup of postgresql-spherical-5948... done
Use Ctrl-C at any time to stop monitoring progress; the backup will continue running.
Use heroku pg:backups:info to check progress.
Stop a running backup with heroku pg:backups:cancel.
Backing up DATABASE to b598... pending
Backing up DATABASE to b598... !
▸ MODULE_NOT_FOUND: Cannot find module 'bytes'
Does anybody have similar problem? This command is launched with deploy on CircleCI.
I started running into the same problem yesterday and was finally able to come up with a solution that is working for me.
For starters, it looks like bytes is a dependency of heroku-pg, which is the part of Heroku CLI that is being used for the backups command. It seems like the dependency is not being included or installed with the version of heroku-cli that is being used to run the backup command.
I tried CircleCI’s “Rebuild with SSH” to troubleshoot the issue, and encountered similar error messages when attempting the backup command there. While trying to reinstall heroku-cli using npm, I found that the npm and node versions were way behind what heroku-cli wanted, so maybe that is part of the problem? Anyway, reinstalling with npm only produced an even more broken Heroku CLI.
Finally I checked the build environment and it was set to Ubuntu 12.04 (Precise) which probably explains the way out of date npm/node packages. I changed it to Ubuntu 14.04 (Trusty) and pushed a new commit to CircleCI (A rebuild alone is not sufficient to change OS versions) and was able to successfully run the backup command that had been failing!
Solution: Set CircleCI build environment to Ubuntu 14.04

PostgreSQL Permission denied Error on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432" - Lion Server 10.7.3 or Lion Server 10.7.4

I recently had major permission problems using Lion Server where permissions would change on folders at will. During this time I had started getting the following error when trying to do a rake db:migrate command:
rake aborted!
could not connect to server: Permission denied
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
This had been working before when I first created a Rails 3.2.3 application while running 10.7.2. All of a sudden I started having this error come up. I read many blogs about this error and tried to remove it but with no success.
I decided to call Apple Enterprise Support to see what I could do. I suspected that Lion Server had gotten corrupted but wanted to confirm with the support team before wiping my server clean and starting over. They confirmed that is what I needed to do in order to straighten it out. I did this on Friday and only installed what I needed to rebuild my Rails app. I still got the error. I tried again some of the other solutions that were posted but still none of them worked. We continued to look for solutions.
After continuing to search for blog posts we were able to find one that dealt with Lion 10.7.4. What I did not know that something had changed between 10.7.2 when I started writing my Rails application and now with PostgreSQL. We found the following blog post which helped me solve the problem I had for several days.
http://www.mactasia.co.uk/revisited-using-postgresql-in-lion-server
I ended up logging in as root and doing the following:
Made the following changes in /System/Library/LaunchDaemons/org.postgresql.postgres.plist
listen_addresses=127.0.0.1
unix_socket_permissions=0777
Changed the permissions of /var/psql_socket
sudo chmod 755 /private/var/pgsql_socket
Afterwards I logged out of root and logged in as I normally do as a server admin. I no longer got the permission error.
which psql will most likely show /bin/psql
I'm guessing we want to call /usr/local/bin/psql
So either we change the $PATH to include /local/bin prior to /bin, which I don't think is a very good solution (security and such), or
We remove /usr/bin/psql by either rm-ing (or mv-ing) the file, (and symlinking to /usr/local/bin)
or uninstalling the psql client.

"No such file or directory - getcwd" error on rubygems on Mac Os Lion

I'm trying to launch a heroku console that uses rubygems but I keep getting this error:
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:471:in `expand_path': No such file or directory - getcwd (Errno::ENOENT)
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:471:in `find_files'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:470:in `map'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:470:in `find_files'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:1103
from /usr/bin/heroku:9:in `require'
from /usr/bin/heroku:9
I'm using Mac OS Lion 10.7.3. Any ideas on how to fix this? Thanks!
Maybe the current working directory of the shell that's used to start your heroku process doesn't exist (maybe removed by another process, as in my case), and therefore getcwd throws an error.
This happened to me. It turned out I had deleted the folder I was running the command in.
I had that same issue.... running sudo gem update --system fixed the problem... give it a try.
I had the same thing, just type cd in the terminal, then navigate back to where you were and it works.
Tried starting the rails server in another console tab.
cd . solved it for me
Faced a similar issue while setting up rails app locally.
The issue was that the server was running in a directory which i had removed from another terminal window to recreate the app.
Close terminal and do it again or go to some other directory and come back and do it...
Anything should work..It did for me.
I encounter a same one, it happened when the working directory has actually been removed.
This doesn't appear to be Heroku issue as something in your code is requiring this getcwd.
What happens if you run this application locally in production mode? Have you defined all of your dependencies for Heroku (either via a .gems file or Bundler)
In my case, I was in a directory that had "unusual" characters in its name: /Volumes/Members/Finance & Accounting/-MC 2008, 7848/2020.
And also, I was in a remote directory, as Mac users will recognize.
I simply did push ~ and ran the command again, then did popd to get back to my remote directory with odd characters in the name.
It could be that gem is ill-behaved in the face of directory names containing whitespace, or it could be that it doesn't work on networked directories.
The bash built-in pwd worked just fine in the remote directory with the funny name.
This whole thing makes me a bit nervous about gem.
solved for me
cd ..
cd -
you have to go back and return to current directory.
Ended up on this page from searching for the same error on AWS Elastic beanstalk.
The problem with getcwd is because EB is trying to repeat the deployment process endlessly. It changes the /var/app/staging directory before it is able to finish the current action. getcwd fails because the directory was already replaced. Try deploying a stable version or a sample app
This just happened to me while I was running a Sinatra app on my localhost and this is what I found.
Scenario:
I'm using Git as my version control and I switched branches from development to master to merge my branches. After the merge, with an active server running, I made a minor html change which shouldn't have blown up the app and when I went to check the change in my broswer my "request" came back with OP's error - just to note this app isn't deployed to heroku.
My guess:
I'm not familiar with the intricacies of Webbrick (or equivalent programs) but I'm guessing you had an active server running (like me) and it was was looking for specific file(s) in memory and when they were modified on a possible branch change or an important file was modified/deleted - Webbrick freaked out and didn't know where to find it/them and threw up this error.
I'm not sure what version control you're using but I know git is popular for heroku so I think this might have something to do with your issue.
Fixing the issue for myself was as simple as restarting the server, hope this helps future trouble shooters.
I solved this problem by closing and restarting my terminal, setting the correct Ruby version in the new Terminal to
$ rvm use 2.1.1
(or whatever Ruby version is relevant to your program)
as explained by gerardk
you could try this before launching back heroku console
$ pwd #ie: /mywork
$ cd ..
$ cd [pwd] #ie: cd mywork
now go launch back heroku console
Restart system fixed this problem in my case
I worked around this error by shutting down the server, restarting my terminal, then restarting the server.
sudo gem update --system (as Israfil Havilah mentioned) and rebooting the server (Ubuntu 16.04.6 LTS) helped me
Make sure, you are not switching git branches. To me, it happened due to switching between GIT branches deleted my folder.

Resources