2

以下のようにルビーバージョンをインストールしました

$ rvm install ruby-1.9.3-p448-dev

そして、以下のようにバージョンを確認したとき

$ ruby -v

ruby 1.9.3p448 (2013-06-27 revision 41675) [i686-linux]

しかし、以下のようにtravisをインストールしようとしたとき

$ gem install travis

Building native extensions.  This could take a while...
ERROR:  Error installing travis:
    ERROR: Failed to build gem native extension.

    /home/user/.rvm/rubies/ruby-1.9.3-p448/bin/ruby extconf.rb
/home/user/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/fileutils.rb:1371:in `initialize': Permission denied - /home/user/.travis/travis.sh (Errno::EACCES)
    from /home/user/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/fileutils.rb:1371:in `open'
    from /home/user/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/fileutils.rb:1371:in `block in copy_file'
    from /home/user/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/fileutils.rb:1370:in `open'
    from /home/user/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/fileutils.rb:1370:in `copy_file'
    from /home/user/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/fileutils.rb:477:in `copy_file'
    from /home/user/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/fileutils.rb:396:in `block in cp'
    from /home/user/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/fileutils.rb:1515:in `block in fu_each_src_dest'
    from /home/user/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/fileutils.rb:1529:in `fu_each_src_dest0'
    from /home/user/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/fileutils.rb:1513:in `fu_each_src_dest'
    from /home/user/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/fileutils.rb:395:in `cp'
    from extconf.rb:5:in `<main>'


Gem files will remain installed in /home/user/.rvm/gems/ruby-1.9.3-p448/gems/travis-1.5.2 for inspection.
Results logged to /home/user/.rvm/gems/ruby-1.9.3-p448/gems/travis-1.5.2/completion/gem_make.out

上記のnative extensionsエラーを回避し、正常にインストールするtravis方法gem

編集

sudo以下のように含めてコマンドを試したとき

sudo gem install travis

以下のメッセージが成功として表示されます

Building native extensions.  This could take a while...
Successfully installed travis-1.5.2
1 gem installed
Installing ri documentation for travis-1.5.2...
Installing RDoc documentation for travis-1.5.2...

そして今、私がやろうとしているのは、environ変数を設定することだけなtravis ので、次のコマンドを試しました

$ travis encrypt -r travis_uname/app_name EMAIL_HOST_KEY=key_value

そして、以下の奇妙なエラーが発生します

/usr/lib/ruby/vendor_ruby/1.8/rubygems/dependency.rb:247:in `to_specs': Could not find travis (>= 0) amongst [addressable-2.3.5, backports-3.3.3, bundler-1.3.5, bundler-unload-1.0.1, coderay-1.0.9, ethon-0.6.0, faraday-0.8.8, faraday_middleware-0.9.0, ffi-1.9.0, gh-0.11.3, highline-1.6.19, launchy-2.3.0, method_source-0.8.2, mime-types-1.24, multi_json-1.7.9, multipart-post-1.2.0, net-http-persistent-2.9, net-http-pipeline-1.0.1, netrc-0.7.7, pry-0.9.12.2, pusher-client-0.3.1, rake-10.1.0, ruby-hmac-0.4.0, rubygems-bundler-1.2.2, rubygems-update-2.0.7, rvm-1.11.3.8, slop-3.4.6, typhoeus-0.6.4, websocket-1.0.7, websocket-native-1.0.0] (Gem::LoadError)
    from /usr/lib/ruby/vendor_ruby/1.8/rubygems/dependency.rb:256:in `to_spec'
    from /usr/lib/ruby/vendor_ruby/1.8/rubygems.rb:1208:in `gem'
    from /usr/local/bin/travis:18

最後に、上記のエラーを回避し、上記の travis コマンドを正常に機能させる方法は?

4

3 に答える 3

4

まず、使用しているRubyのバージョンをデフォルトに設定します

rvm use --default ruby-1.9.3-p448-dev

以前にインストールしたgemをアンインストールしますsudo

sudo gem uninstall travis

これにより、すべてのコマンドが同じ Ruby バージョンを使用し、マシンが再びクリーンであることを確認できます。次に、インストールの問題に進みます。このエラー

Permission denied - /home/user/.travis/travis.sh (Errno::EACCES)

インストーラーがアクセスしようとし/home/user/.travisたが、ユーザー権限がないためにアクセスできなかったことを示しています。これは、フォルダーが自分のものであり、書き込み可能であることを確認する必要があることを意味します

chown -R `whoami` ~/.travis
chmod -R u+wx ~/.travis

次に、再インストールを試みます。

gem install travis

そして、すべてがうまくいくはずです。

于 2013-08-21T13:24:18.283 に答える
3

-devパッケージ をインストールすると修正されました... sudo apt-get install ruby-dev

于 2015-01-22T16:33:05.733 に答える