Open jasontucker opened 6 years ago
+1 can confirm got the same result on High Sierra.
I have the same issue and error message as the OP, however I'm running macOS 10.12 Sierra, not 10.13 High Serra.
However I have a previous authorization configuration file I've copied over to this system. When trying to authorize a new account, I get the following error:
> t authorize
It looks like you've already registered an application with Twitter.
To authorize a new account, just follow the steps below:
1. Sign in to the Twitter Developer site.
2. Select the application for which you'd like to authorize an account.
3. Copy and paste the consumer key and secret below when prompted.
Press [Enter] to open the Twitter Developer site. Enter your API key: [redacted]
Enter your API secret: [redacted]
Traceback (most recent call last):
7: from /usr/local/bin/t:23:in `<main>'
6: from /usr/local/bin/t:23:in `load'
5: from /usr/local/lib/ruby/gems/2.5.0/gems/t-3.1.0/bin/t:20:in `<top (required)>'
4: from /usr/local/lib/ruby/gems/2.5.0/gems/thor-0.20.0/lib/thor/base.rb:466:in `start'
3: from /usr/local/lib/ruby/gems/2.5.0/gems/thor-0.20.0/lib/thor.rb:387:in `dispatch'
2: from /usr/local/lib/ruby/gems/2.5.0/gems/thor-0.20.0/lib/thor/invocation.rb:126:in `invoke_command'
1: from /usr/local/lib/ruby/gems/2.5.0/gems/thor-0.20.0/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/2.5.0/gems/t-3.1.0/lib/t/cli.rb:82:in `authorize': uninitialized constant Twitter::REST::Client::BASE_URL (NameError)
I've also confirmed the same behavior in a Linux Docker Container. The program dies in the authorize
command.
Dockerfile:
FROM ruby
RUN gem install t
CMD /bin/bash
> docker build ./ -t ruby-t
> docker run -ti ruby-t
root@930f769b1637:/# t authorize
Welcome! Before you can use t, you'll first need to register an
application with Twitter. Just follow the steps below:
1. Sign in to the Twitter Application Management site and click
"Create New App".
2. Complete the required fields and submit the form.
Note: Your application must have a unique name.
3. Go to the Permissions tab of your application, and change the
Access setting to "Read, Write and Access direct messages".
4. Go to the Keys and Access Tokens tab to view the consumer key
and secret which you'll need to copy and paste below when
prompted.
Press [Enter] to open the Twitter Developer site.
Open: https://apps.twitter.com
Enter your API key: [redacted]
Enter your API secret: [redacted]
Traceback (most recent call last):
7: from /usr/local/bundle/bin/t:23:in `<main>'
6: from /usr/local/bundle/bin/t:23:in `load'
5: from /usr/local/bundle/gems/t-3.1.0/bin/t:20:in `<top (required)>'
4: from /usr/local/bundle/gems/thor-0.20.0/lib/thor/base.rb:466:in `s
tart'
3: from /usr/local/bundle/gems/thor-0.20.0/lib/thor.rb:387:in `dispat
ch'
2: from /usr/local/bundle/gems/thor-0.20.0/lib/thor/invocation.rb:126
:in `invoke_command'
1: from /usr/local/bundle/gems/thor-0.20.0/lib/thor/command.rb:27:in
`run'
/usr/local/bundle/gems/t-3.1.0/lib/t/cli.rb:82:in `authorize': uninitialized
constant Twitter::REST::Client::BASE_URL (NameError)
I'd suggest the name of this thread be changed to reflect the error on authorization:
`authorize': uninitialized
constant Twitter::REST::Client::BASE_URL (NameError)
Uninstall the current t gem:
sudo gem uninstall t
Install a previous version without this bug and do the authorize
sudo gem install t -v 2.10
...
t authorize
Update t to the current version
sudo gem update t
If you have another workstation you want to use t
at, then you can copy the ~/.trc
file . Although, be aware this contains your authenticated twitter identity, so this could be used to impersonate you elsewhere.
hi,
i have the same issue, however, i am running arch linux, my ruby version is ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux]
.
i haven't tried @dotHTM 's workaround yet.
Confirming this, with Ruby 2.3.6, one of the versions listed as supported by t
:
/usr/local/var/rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/t-3.1.0/lib/t/cli.rb:82:in `authorize': uninitialized constant Twitter::REST::Client::BASE_URL (NameError)
from /usr/local/var/rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/thor-0.20.0/lib/thor/command.rb:27:in `run'
from /usr/local/var/rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/thor-0.20.0/lib/thor/invocation.rb:126:in `invoke_command'
from /usr/local/var/rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/thor-0.20.0/lib/thor.rb:387:in `dispatch'
from /usr/local/var/rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/thor-0.20.0/lib/thor/base.rb:466:in `start'
from /usr/local/var/rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/t-3.1.0/bin/t:20:in `<top (required)>'
from /usr/local/var/rbenv/versions/2.3.6/bin/t:22:in `load'
from /usr/local/var/rbenv/versions/2.3.6/bin/t:22:in `<main>'
Quick and dirty fix mentioned elsewhere, edit the t "cli.rb" file (change the path for your ruby version):
# vi gems/ruby-2.4.1/gems/t-3.1.0/lib/t/cli.rb
Change: Twitter::REST::Client::BASE_URL To: Twitter::REST::Request::BASE_URL
@dotHTM, no… it doesn’t work 😔
/Users/searge/.rvm/gems/ruby-2.4.2/gems/t-3.1.0/lib/t/cli.rb:82:in `authorize': uninitialized constant Twitter::REST::Client::BASE_URL (NameError)
from /Users/searge/.rvm/gems/ruby-2.4.2/gems/thor-0.20.0/lib/thor/command.rb:27:in `run'
from /Users/searge/.rvm/gems/ruby-2.4.2/gems/thor-0.20.0/lib/thor/invocation.rb:126:in `invoke_command'
from /Users/searge/.rvm/gems/ruby-2.4.2/gems/thor-0.20.0/lib/thor.rb:387:in `dispatch'
from /Users/searge/.rvm/gems/ruby-2.4.2/gems/thor-0.20.0/lib/thor/base.rb:466:in `start'
from /Users/searge/.rvm/gems/ruby-2.4.2/gems/t-3.1.0/bin/t:20:in `<top (required)>'
from /Users/searge/.rvm/gems/ruby-2.4.2/bin/t:23:in `load'
from /Users/searge/.rvm/gems/ruby-2.4.2/bin/t:23:in `<main>'
from /Users/searge/.rvm/gems/ruby-2.4.2/bin/ruby_executable_hooks:15:in `eval'
from /Users/searge/.rvm/gems/ruby-2.4.2/bin/ruby_executable_hooks:15:in `<main>'
~ 36s
OS X El Capitan, ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-darwin15]
@marksolaris also — no…
@Searge There are two places in the file where you need to change Client
to Request
.
Issue still occurring on High Sierra. Is a permanent fix being worked on?
I have the same error as OP. I'm using Ubuntu 18.04 LTS and ruby 2.5.1p57
$ t authorize
Welcome! Before you can use t, you'll first need to register an
application with Twitter. Just follow the steps below:
1. Sign in to the Twitter Application Management site and click
"Create New App".
2. Complete the required fields and submit the form.
Note: Your application must have a unique name.
3. Go to the Permissions tab of your application, and change the
Access setting to "Read, Write and Access direct messages".
4. Go to the Keys and Access Tokens tab to view the consumer key
and secret which you'll need to copy and paste below when
prompted.
Press [Enter] to open the Twitter Developer site.
Enter your API key: Created new window in existing browser session.
XXXXXXXX
Enter your API secret: XXXXXXXXXXX
Traceback (most recent call last):
7: from /usr/local/bin/t:23:in `<main>'
6: from /usr/local/bin/t:23:in `load'
5: from /var/lib/gems/2.5.0/gems/t-3.1.0/bin/t:20:in `<top (required)>'
4: from /usr/lib/ruby/vendor_ruby/thor/base.rb:444:in `start'
3: from /usr/lib/ruby/vendor_ruby/thor.rb:369:in `dispatch'
2: from /usr/lib/ruby/vendor_ruby/thor/invocation.rb:126:in `invoke_command'
1: from /usr/lib/ruby/vendor_ruby/thor/command.rb:27:in `run'
/var/lib/gems/2.5.0/gems/t-3.1.0/lib/t/cli.rb:82:in `authorize': uninitialized constant Twitter::REST::Client::BASE_URL (NameError)
-- Brian
same error as @bpg1968
I've had this problem too…
This one-liner should fix it.
sed -i '' ’s/Client/Request/g' $(gem env | awk '/ - \//&&!/bin/{print $2}' | xargs -I @ find @ -type d -name t)/cli.rb
How is it that such a basic error hasn't been fixed yet? Is this project abandoned?
Fix it yourself or use one of the improved forks...
can you link us to a good one @dardo82 ?
Twitter's API changes this summer is gonna break a lot of the use of this utility anyway.
Background on third party APIs: http://apps-of-a-feather.com
Might also consider rainbowstream
: https://github.com/orakaro/rainbowstream
No, I can’t, as obviously I’m using the fix I posted!
@dardo82's script didn't work for me, but manually editing the file like @marksolaris suggested worked like a charm!
@thisisalessandro it should be the same thing but I don’t use it now, then I’m not sure.
a little late to the convo but @dardo82 's script worked for me if i changed the first ’ to '
sed -i '' 's/Client/Request/g' $(gem env | awk '/ - \//&&!/bin/{print $2}' | xargs -I @ find @ -type d -name t)/cli.rb
I'm having issues with getting t to work on my High Sierra Mac I cant seem to get past this part: