a shim egy kis könyvtár, amely elfogja és megváltoztatja a hívásokat egy másik könyvtárba, elsősorban a kompatibilitás elősegítése érdekében.
A könyvtár több verziójának fenntartása szükséges az ügyfelek támogatásához. A Shim könyvtárak lefordítják a régi könyvtári hívásokat, mielőtt továbbítanák az új könyvtárba.
1. példa:
a Linux telepítésekhez általában egyetlen Ruby verzió tartozik. A Ruby fejlesztőknek különböző Ruby verziókkal kell rendelkezniük sok aktív projektjükön. Az Rbenv alátéteket használ a probléma megoldására.
A Ruby parancs futtatása Linuxban azt jelenti, hogy ellenőrizni kell a futtatható fájlt az elérési úton — amelyet balról jobbra keres. Tehát a Ruby parancs futtatása rails server
azt jelenti, hogy a Linux megtalálja és futtatja a Rails-t, egy Ruby futtatható fájlt az első könyvtárban.
Rbenv hozzáad egy shims
könyvtár és betölti azt shim szkriptekkel, mielőtt előkészítené az elérési utat. Van egy shim script minden Ruby alkalmazás fut egy Ruby alkalmazás most azt jelenti, fut a megfelelő shim script. Tehát a sínek futtatása a sínek parancsfájl végrehajtását jelenti a shims
könyvtárban, nem pedig a sínek alkalmazást a usr/local/bin
könyvtárban. A szkript kidolgozza a szükséges Ruby verziót, majd futtatja a megfelelő alkalmazást, ebben az esetben Rails, a várt Ruby verzió alatt.
2. Példa:
a Microsoft alátéteket használ az alkalmazás Windows-hívásainak hamisításához. Amikor egy alkalmazás rendszerhívást kezdeményez, az az ‘import Címtáblán’megy keresztül.