50 lines
1.8 KiB
Bash
Executable File
50 lines
1.8 KiB
Bash
Executable File
#!/bin/zsh -eu
|
|
|
|
# >>>>> 一些参考资料
|
|
# https://github.com/oven-sh/bun/blob/277fc558e2039e3ab25ecebecc5a3f04c5c3199a/dockerhub/debian-slim/Dockerfile
|
|
# COPY --chown=usr_vscode:usr_vscode --from=oven/bun:1-debian /usr/local/bin/bun /usr/local/bin
|
|
# IS_BUN_AUTO_UPDATE=true SHELL=zsh bun completions
|
|
# bun install -g 将会安装到 ENV BUN_INSTALL_BIN
|
|
# ENV PATH "${BUN_INSTALL_BIN}:${PATH}"
|
|
# RUN sudo mkdir -p /usr/local/bun-node-fallback-bin && sudo ln -s /usr/local/bin/bun /usr/local/bun-node-fallback-bin/node
|
|
# ENV PATH "${PATH}:/usr/local/bun-node-fallback-bin"
|
|
# <<<<<
|
|
|
|
# fix permission
|
|
# 有可能这个目录是 volume 挂载过来的,权限会有问题。
|
|
sudo mkdir -p ~/.bun || true
|
|
sudo chown -R $(whoami):$(whoami) ~/.bun || true
|
|
|
|
curl -fsSL https://bun.com/install | bash
|
|
|
|
# https://bun.sh/docs/runtime/nodejs-compat
|
|
mkdir -p ~/.bun/bin/bun-node-fallback-bin || true
|
|
ln -sf ~/.bun/bin/bun ~/.bun/bin/bun-node-fallback-bin/node
|
|
|
|
which -a bun
|
|
bun --version
|
|
which -a bunx
|
|
bunx --version
|
|
which -a node
|
|
|
|
# >>>>> pnpm
|
|
bun add -g pnpm@latest
|
|
# echo "alias pnpm='bunx pnpm'" >> ~/.zshrc
|
|
# echo "alias pnpx='bunx pnpx'" >> ~/.zshrc
|
|
bunx pnpm config set store-dir ~/.pnpm-store
|
|
sudo chown -R $(whoami):$(whoami) ~/.pnpm-store || true
|
|
|
|
# >>>>> npm
|
|
bun add -g npm@latest
|
|
|
|
# >>>>> Claude Code 工具
|
|
bun add -g @anthropic-ai/claude-code@latest
|
|
echo "alias claude='bunx claude --dangerously-skip-permissions'" >> ~/.zshrc
|
|
# 参考: https://github.com/anthropics/claude-code/blob/1fe9e369a7c30805189cbbb72eb69c15ed4ec96b/.devcontainer/Dockerfile#L42
|
|
echo "export DEVCONTAINER=true" >> ~/.zshrc
|
|
|
|
# >>>>>> Gemini CLI 工具
|
|
bun add -g @google/gemini-cli@latest
|
|
echo "alias gemini='bunx -g gemini --yolo -m gemini-2.5-pro'" >> ~/.zshrc
|
|
echo "export SANDBOX=bun-devcontainer" >> ~/.zshrc
|