私は単一のリポジトリで作業しており、私のパッケージの例を次のように構造内のパッケージから分離したいと思います。
my_packages_collection/
examples/
foo/
...
packages/
foo/
example
...
入ってmy_packages_collection
実行すると、フォルダではないというファイルがln -s examples/foo packages/foo/example
入ります。packages/foo
example
実行すると、cd packages/foo/example
以下cd: no such file or directory: packages/foo/example
がvscode
表示されます。
Unable to read file '[...]/foo/example' (Unknown (FileSystemError): An unknown error occurred. Please consult the log for more details.)
ls -l
期待どおりに動作します。
それを科学とgithubに「プッシュ」し、テキスト付きのファイルと一緒に「リンクされたフォルダ」アイコンを表示します"examples/foo"
(笑)。
私は何を見逃していますか?
答え1
1つの方法は、chdir
入りpackages/foo
、そこからシンボリックリンクを作成することです。
$ mkdir my_packages_collection && cd my_packages_collection
$ mkdir -p examples/foo packages/foo
$ touch examples/foo/bar
$ cd packages/foo && ln -s ../../examples/foo example
$ ls example
bar
別のアプローチは、.NET Frameworkなしでビルドすることですchdir
。これはシェルで行うのがより困難です。
$ cd -
$ cd ..
$ rm -rf my_packages_collection
$ mkdir my_packages_collection && cd my_packages_collection
$ mkdir -p examples/foo packages/foo
$ touch examples/foo/bar
$ ln -s ../../examples/foo packages/foo/example
$ ls packages/foo/example
bar
両方の方法の結果は、文字列を含むシンボリックリンクファイルです../../examples/foo
。
$ readlink packages/foo/example
../../examples/foo