You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This RBS is invalid. ast is a gem, but the lockfile indicates that it is a stdlib. Therefore rbs validate fails with the lockfile.
$ rbs validate/path/to/rbs/environment_loader.rb:118:in `block in each_dir': Cannot find type definitions for library: ast (0) (RBS::EnvironmentLoader::UnknownLibraryError)(snip)
BTW, it is a regression of a recent RBS version. Because it works well on rbs 2.0.0, which is the version introduced manifest.yaml.
rbs collection install generates the following lockfile on rbs v2.0.0.
So I think manifest.yaml should allows containing a gem as a dependency.
Problem if it contains a gem as a dependency
It has a problem if manifest.yaml contains a gem as a dependency. Becaues rbs collection cannot resolve dependency of the gem written in manifest.yaml. For example:
Gemfile.lock only contains dependency of gem X
ruby/gem_rbs_collection has an RBS for gem X
gem X has a dependency on gem Y, which is specified by manifest.yaml.
gem Y has a dependency on gem Z, which is specified by the gemspec.
In this case, rbs collection finds gem X and gem Y. But it cannot find gem Z if Gemfile.lock does not contain gem Y or gem Z.
I'm not sure this problem is critical. I guess allowing gems in manifest.yaml is better even if it has the dependency resolution problem.
The text was updated successfully, but these errors were encountered:
Currently
manifest.yaml
does not allow gems as dependencies. For example:When your
Gemfile.lock
contains the gem X,rbs collection install
generates the followingrbs_collection.lock.yaml
.This RBS is invalid.
ast
is a gem, but the lockfile indicates that it is a stdlib. Thereforerbs validate
fails with the lockfile.BTW, it is a regression of a recent RBS version. Because it works well on rbs 2.0.0, which is the version introduced
manifest.yaml
.rbs collection install
generates the following lockfile on rbs v2.0.0.So I think
manifest.yaml
should allows containing a gem as a dependency.Problem if it contains a gem as a dependency
It has a problem if
manifest.yaml
contains a gem as a dependency. Becauesrbs collection
cannot resolve dependency of the gem written inmanifest.yaml
. For example:manifest.yaml
.In this case,
rbs collection
finds gem X and gem Y. But it cannot find gem Z ifGemfile.lock
does not contain gem Y or gem Z.I'm not sure this problem is critical. I guess allowing gems in
manifest.yaml
is better even if it has the dependency resolution problem.The text was updated successfully, but these errors were encountered: