如何解决在 Mac 上安装 casperjs 的困难
在我的 Mac 上尝试安装 casperjs 几天后,我寻求帮助。 我首先使用“brew install”方法和 NPM,这是终端的消息:
brew install casperjs
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles-portable-ruby/portable-ruby-2.6.3_2.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring portable-ruby-2.6.3_2.yosemite.bottle.tar.gz
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> New Formulae
[...]
==> Updated Formulae
Updated 4842 formulae.
==> Renamed Formulae
[...]
==> Deleted Formulae
[...]
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools),missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
==> Tapping homebrew/cask
[...]
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
Error: No available formula or cask with the name "casperjs".
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get its complete history,run:
git -C "$(brew --repo homebrew/core)" fetch --unshallow
Error: No previously deleted formula found.
==> Searching taps on GitHub...
Error: No formulae found in taps.
所以我尝试用 NPM 安装
npm install casperjs -g
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
先谢谢你,
解决方法
tl;dr:您可能应该尝试使用 nodenv
你说得对,brew.sh 没有列出任何 casper.js
公式;我不确定为什么 Casper 在他们的文档中将它列为安装选项。您确实可以使用 npm 和 sudo
安装它,但是更好的入门方法是使用版本/环境管理器,例如 nodenv:它允许轻松切换 Node .js 全局版本,基于 node-version
文件的每个项目,或带有环境变量的每个 shell。也许更重要的是,由于它将节点模块安装到 ~/.nodenv
内的特定于版本的文件夹中(其中 ~/
指的是您的用户/主文件夹),它不需要 sudo
,这更安全,而且通常是更好的做法。 You can install nodenv
with Homebrew 也是,这很好。还有其他版本管理器,例如 NVM
和 n
— 我都尝试过,但我发现 nvm
会大大减慢 shell 启动速度,而 n
不会t 允许每个项目切换,最重要的是我喜欢 nodenv
的工作方式。对于版本管理的不同方法,有 asdf
,它是一种与语言无关的版本管理器(尽管我还没有尝试过)。不过,他们中的任何一个都应该解决问题。
另外,我不确定您是否为了将其用于开发而安装了带有 Homebrew 的 Node,但如果是这样,那也可能不是最好的主意——许多其他 Homebrew 公式依赖于 Node,并且当您运行时brew upgrade
更新你的包,总是有可能你会在不知不觉中升级 Node 作为另一个公式的依赖,这可能会破坏你已经完成的某些事情或某些 npm 模块。基本上,它与 this blog post about why not to use Homebrew's Python 的一般概念相同,但使用 Node。
希望有帮助!
,使用 sudo 访问权限试试。然后错误消息说,您无权将 npm-packages 写入文件夹 note-modules。
使用 sudo
,您可以临时获得根访问权限来安装、删除或更改任何软件。
sudo npm i casperjs -g
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。