Rails命令错误

时间:2019-04-02 02:13:44

标签: ruby-on-rails ruby

今天早些时候,我正在一个项目上,当时我的rails命令突然停止工作。我知道我一定引入了会导致错误的内容,但是对于我一生来说,我不知道是什么。每当我键入任何rails命令(例如,rails c,rails s,rails -v等)时,都会出现以下错误:

// https://developer.android.com/training/articles/security-ssl.html#java
private OkHttpClient initClient(boolean ssl) {
    if (ssl) {
        SSLSocketFactory sslSocketFactory = null;
        X509TrustManager x509TrustManager = null;
        try {
            CertificateFactory cf = CertificateFactory.getInstance("X.509");
            InputStream certificateFileCRT = mContext.getResources().openRawResource(R.raw.client);
            Certificate certCRT = cf.generateCertificate(certificateFileCRT);
            System.out.println("ca=" + ((X509Certificate) certCRT).getSubjectDN());
            certificateFileCRT.close();

            String keyStoreType = KeyStore.getDefaultType();
            KeyStore keyStore = KeyStore.getInstance(keyStoreType);
            keyStore.load(null, null);
            keyStore.setCertificateEntry("ca", certCRT);

            String tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
            TrustManagerFactory tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
            tmf.init(keyStore);

            TrustManager[] trustManagers = tmf.getTrustManagers();
            x509TrustManager = (X509TrustManager) trustManagers[0];

            SSLContext sslContext = SSLContext.getInstance("SSL");
            sslContext.init(null, new TrustManager[]{x509TrustManager}, null);

            sslSocketFactory = sslContext.getSocketFactory();
        } catch (CertificateException |IOException | KeyStoreException | NoSuchAlgorithmException | KeyManagementException e) {
            e.printStackTrace();
        }

        return new OkHttpClient.Builder()
                .readTimeout(60, TimeUnit.SECONDS)
                .sslSocketFactory(sslSocketFactory, x509TrustManager)
                .build();
        // return getUnsafeOkHttpClient();
    } else {
        return new OkHttpClient.Builder()
                .readTimeout(60, TimeUnit.SECONDS)
                .build();
    }
}

以下是我的gemfile:

Traceback (most recent call last):
1: from /Users/mccoleman/.rvm/gems/ruby-2.5.1/bin/rails:23:in `<main>'
/Users/mccoleman/.rvm/gems/ruby-2.5.1/bin/rails:23:in `load': cannot load such file -- /Users/mccoleman/.rvm/rubies/ruby-2.5.1/lib/ruby/gems/2.5.0/gems/railties-5.2.3/exe/rails (LoadError)

我尝试搜索类似的错误,但是找不到类似的东西。有什么想法为什么Rails突然不起作用?

2 个答案:

答案 0 :(得分:0)

看看RVM的gemset。为您的项目设置一个宝石集,使用它,安装并运行捆绑软件。

$ cd myproject
$ rvm create gemset mygemset
$ cat 'mygemset' > .ruby-gemset
$ cat 'ruby-2.5.1' > .ruby-version
$ cd .
$ gem install bundle
$ bundle

.ruby-version.ruby-gemset允许RVM在您cd创建项目时自动设置Ruby版本和gemset。

答案 1 :(得分:0)

虽然我仍然不能100%地确定是什么导致了错误发生,但是我能够通过卸载然后重新安装滑轨来纠正它。